0

我正在使用 NSXMLParser 解析从远程托管的 Web 服务返回的 XML 文档。XML 是有效的,但某些节点偶尔会是空的,这似乎导致 NSXMLParser 失败(NSXMLParserErrorDomain 错误 5)但是我在网上找不到任何东西,这表明解析空节点会出现问题所以我想知道是否有其他人遇到过任何问题并且可以证实或否认我的理论,即 NSXMLParser 无法处理空标签?

我的 XML 大致如下:

<Entry>  
    <Request>2</Request>  
    <ID>123456789</ID>  
    <Name></Name>  
    <UserName>username</UserName>  
    <Password>password</Password>  
    <SessionID>987654321</SessionID>  
    <Oldest></Oldest>  
    <Newest></Newest>  
    <List></List>  
</Entry>

解析器在到达元素时抛出错误,它调用 DidStartElement 然后消失在解析器代码中,并在调用任何更多委托方法之前返回错误。

4

1 回答 1

0

您的问题很可能来自您对 NSXMLParser 的实现。我的 NSXMLParser 实现可以很好地处理空节点,尽管我还没有找到一种方法来实际将 @"" 存储在我从 XML 生成的字典中的空节点内。parser:foundCharacters: 在 NSXMLParser 遇到空节点时永远不会被调用,因此您在那里或 parser:didEndElement: 中的实现几乎肯定会导致问题。

于 2010-11-05T18:03:35.983 回答