の書き込みNSXMLElementは、私は次のように私は、一定のUSER_PRINTXML_URLで定義されたファイルを取得し、そこからNSXMLDocumentを、作成しています:ココア - NSXMLDocument
NSXMLDocument *ads_user_printxml = [[NSXMLDocument alloc] initWithContentsOfURL: [NSURL URLWithString:USER_PRINTXML_URL] options:(NSXMLNodePreserveWhitespace|NSXMLNodePreserveCDATA) error:&ads_err];
その後、私はXMLで目的の場所に到達するためにXPathを使いますなどのファイルは、以下のとおり
NSArray* ipp_folder = [[ads_user_printxml nodesForXPath:@".//root/printing/IPP"error:&ads_err] objectAtIndex:0];
を今、私はそれを行うのですかどのように、XMLファイル内の要素の後にNSXMLElementsを追加したい場合は?
私は、次の操作を実行しようとしている:
NSXMLElement *s= [ipp_folder objectAtIndex:0];
しかし、これは、実行時エラーを生成しています。 NSArrayにデータを入れるのではなくNSXMLNodeを使ってみましたが、もう一度役に立たないようにしました。私は解決が非常に単純だと信じていますが、私の人生はドキュメントで答えを見つけることができません。
ありがとうございました。
、どのように私はそれがあることを宣言することができますか? 親がXMLファイルので、と の間に子を挿入したい場合、[ipp_folder parent]がNSXMLNodeを返し、NSXMLElementを返さないとすれば、どのようにすればよいでしょうか?ケンありがとう! –
Kevin
与えられたXPathから、アイテム自体がIPP要素になるのを待ちます。それに挿入したい場合は、その親は必要ありません。 (元々、IPP要素の後ろに挿入したかったと言っていました。)したがって、変数をその型として宣言することができます: 'NSXMLElement * ipp_folder = ...'。もしそれが正しいことを確認したいなら、 '[ipp_folder kind] == NSXMLElementKind'をチェックすることができます。そして、 '-addChild:'を使って、その親ではなく、直接その中に挿入するだけです。 –
私はIPPに言いました。あなたは正しいですNSElement * ipp_folder = ...は動作します.. 私はobjectAtIndex:intパラメータを使用していたときにNSArrayを宣言していると思います。 ケンはあなたの助けをたくさんありがとう。 – Kevin