NSXMLParser忽略某些标记之间的文本

时间:2013-12-09 04:39:38

标签: ios xml parsing tags nsxmlparser

我正在尝试解析xml,但偶尔如果我在使用NSXMLParser下载的标记中有子/子标记,则忽略之后的任何文本。这是一个例子:

在下面的XML块中,我希望文本说:

  

用手臂和军营填满那个怪异的子宫[NEW LINE]的洞穴。看见特洛伊[新线]位于Tenedos,一个广为人知的岛屿

XML看起来像:

<l n="tr">and fill the caverns of that monstrous womb</l>
<l n="tr">
with arms and soldiery.
<milestone ed="p" n="21" unit="card"/>
In sight of
<placeName key="perseus,Troy" authname="perseus,Troy">Troy</placeName>
</l>
<l n="tr">
lies
<placeName key="perseus,Tenedos" authname="perseus,Tenedos">Tenedos</placeName>
, an island widely famed
</l>

这只发生在标签'里程碑'上,即据我所知,'placeName'的'l'标签(我正在下载的标签)之间的标签不是问题,'l'中的文字'和'地名'下载。这是里程碑标记。在上面的示例中,结果看起来像:

  

并填满那个可怕的子宫的洞穴。 [新行]特洛伊[新   LINE] Tenedos,一个广受欢迎的岛屿

正如您所看到的,只是'里程碑'标签正在弄乱解析。这是我设置NSXMLParser的代码:

- (void) parser:(NSXMLParser *)parser foundCharacters:(NSString *)string
{
    [currentNodeContent appendString:string];
}

- (void) parser:(NSXMLParser *)parser didStartElement:(NSString *)elementname namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict
{
    currentNodeContent = [[NSMutableString alloc] init];

如果您有任何其他问题,或者不理解这个问题,请不要犹豫。非常感谢您的帮助!

0 个答案:

没有答案