0

我有一个 XML 文件。根称为文档文档有几个元素和节点。中间有 n 个documentFile元素。documentFile有一些节点。我想在最后一次出现documentFile之后添加 0 个或多个documentFile元素

所以我有类似的东西:

<document>
   <someTags>
   <documentFile>
     <someSubTags>
   <documentFile> 
     <someSubTags>
   <someMoreTags>
</document>

我尝试使用以下代码:

GDataXMLDocument *tabsTree = [[GDataXMLDocument alloc]initWithData:tabsTreeData
                                                          encoding:NSUTF8StringEncoding
                                                             error:nil];
GDataXMLElement *rootElement = [tabsTree rootElement];
[rootElement addObject:[self createGDataXMLElementForDocumentFile:tab]];

正如预期的那样,这会将documentFile元素添加到 XML 的末尾。

我也试过

  GDataXMLElement *rootElement = [tabsTree rootElement];
  GDataXMLElement *documentFile = (GDataXMLElement *) [rootElement
                                 elementsForName:kDocumentFile][0];
  [documentFile addChild:[self createGDataXMLElementForDocumentFile:tab]];

这会将documentFile元素添加为第一次出现的documentFile的子元素,这也不足为奇。

4

0 回答 0