Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 由空节点导致的NSXMLParser过早文档结束错误?_Objective C_Nsxmlparser_Nsxmlparsererrordomain - Fatal编程技术网

Objective c 由空节点导致的NSXMLParser过早文档结束错误?

Objective c 由空节点导致的NSXMLParser过早文档结束错误?,objective-c,nsxmlparser,nsxmlparsererrordomain,Objective C,Nsxmlparser,Nsxmlparsererrordomain,我正在使用NSXMLParser解析从远程托管的web服务返回的XML文档。XML是有效的,但某些节点偶尔会为空,这似乎会导致NSXMLParser出现NSXMLParserErrorDomain错误5,但是我在网上找不到任何东西表明解析空节点时会出现问题,因此我想知道是否有其他人遇到过此问题,是否可以证实或否认我的理论,即NSXMLParser无法处理空标记 我的XML大致如下: 解析器在到达元素时抛出一个错误,它调用DidStartElement,然后消失在解析器代码中,并在调用任何其他委托

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

我的XML大致如下:


解析器在到达元素时抛出一个错误,它调用DidStartElement,然后消失在解析器代码中,并在调用任何其他委托方法之前抛出一个错误

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

<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>