Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/44.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
Iphone 使用TBXML并解析一个并非总是存在的属性_Iphone_Xml_Xml Parsing - Fatal编程技术网

Iphone 使用TBXML并解析一个并非总是存在的属性

Iphone 使用TBXML并解析一个并非总是存在的属性,iphone,xml,xml-parsing,Iphone,Xml,Xml Parsing,我正在使用TBXML解析一个xml文件。 我的xml如下所示: <locations> <location> <id>1</id> <name>hello</name> </location> <location> ... </locations> ... </location> <location> &

我正在使用TBXML解析一个xml文件。 我的xml如下所示:

<locations>
   <location>
      <id>1</id>
      <name>hello</name>
   </location>
   <location>
      ...
</locations>
...
</location>
<location>
   <id>43</id>
</location>
<location>
...
应用程序读取标记名时崩溃,因为有时没有

我怎样才能解决它


谢谢

应用程序可能正在崩溃,因为您的//“做某事”是假设名称为“无”。如果在XML中找不到该元素,那么代码中的名称var最终将为nil

您在do something注释中剪下的代码是什么

顺便说一句,我通过谷歌搜索tbxml检查子节点是否存在,并找到以下页面,找到了这些信息:


当你说应用程序崩溃时,如果可用,你需要从控制台发布崩溃日志。这将帮助我们回答你的问题。
TBXMLElement *location = [TBXML childElementNamed:@"location" parentElement:root];
while (location){
   TBXMLElement *id = [TBXML childElementNamed:@"id" parentElement:location];
   TBXMLElement *name = [TBXML childElementNamed:@"name" parentElement:location];
   ... //do something
   location = location -> nextSibling;
}