如果我有以下示例代码:
NSXMLDocument* doc = [[NSXMLDocument alloc] initWithContentsOfURL: [NSURL fileURLWithPath:@"file2.xml"] options:0 error:NULL];
NSXMLElement* root = [doc rootElement];
NSArray* objectElements = [root nodesForXPath:@"//object" error:nil];
NSLog (@"doc - %@", doc);
NSXMLElement *c1 = [objectElements objectAtIndex:0];
NSLog (@"c1 --> %@",[c1 stringValue]);
//creating new element
NSXMLElement *c2 = [NSXMLElement elementWithName:@"value" stringValue:@"object new node"];
[c1 replaceChildAtIndex:0 withNode:c2];
NSLog (@"New doc - %@", doc);
我正在尝试获取一个 XML 元素并将其值更改为另一个 (c2)。问题是随着新节点的替换,我将元素名称也插入到 XML 文档中。
所以,如果我有
<element>old value</element>,
我现在得到:
<element><newElement>new value</newElement></element>
我怎样才能编写代码,以便
<newElement></newElement>
不显示?谢谢
PS 更简单的解释方式:
基本上,我想用另一个元素替换一个元素。所以从
<e1>data1</e1>
我希望有
<e2>data 2</e2>
在它的位置。