繁体   English   中英

iPhone SDK XML解析属性VS嵌套元素

[英]iPhone SDK XML Parsing Attribute VS Nested elements

我在将XML解析器与iphone sdk结合使用时遇到一些性能问题。 我尝试直接使用LibXML解析器和NSXMLParser,但结果却相同。 现在,我正在寻找可以提高解析性能的东西。 将属性移动到嵌套元素可以使其更快?

我得到了这样的XML源文件:

<Events>
 <Event Name="Test1" Description="Desc" Cat="Cate" Date="20/01/2010" ImageURL="" />

</Events>

是否必须创建嵌套树? 如愚蠢? 它会提高性能吗?

<Events>
 <Event>
  <Name>Test1</Name>
  <Description>A description</Description>
  <Date>20/01/2010</Date>
  <ImageURL>http://remoteurl.../foo.png</ImageURL>
 </Event>
</Events>

非常感谢Paolo

我不确定您的意思。 我可能无法正确理解您,但是这是我在程序中所做的。

假设您有一个像这样的文件:

<document>

 <person>
  <name>bob</name>
  <phone>555-5555</phone>
   <vehicle>
    <color>blue</color>
    <type>truck</truck>
   </vehicle>
 </person>

 <person>
  <name>jan</name>
  <phone>444-5555</phone>
   <vehicle>
    <color>red</color>
    <type>car</truck>
   </vehicle>
 </person>

</document>

按下人员标签时,假设您要创建一个人员对象。 因此,您创建了该人员对象,并让它解析人员标签内的xml。 您可以通过使person对象成为该对象的新委托来实现。 当人员对象发现关闭人员标签时,它可以重置委托。 我还继续对原始委托调用相同的方法。 我从这里得到了这个主意。 您还可以关注车辆标签并对其执行相同的操作。 我相信您可以理解我目前的驾驶情况。

我之所以认为这样可以提高效率,是因为与其创建一个元素堆栈,还不退一步(例如,当您看到有人检查文档中的内容是否在此之前)。 我想您可以假设当您看到一个人标签时,您就可以在一个人中,但是如果您想安全起见,则检查很重要。 同样,这种方式更加模块化。 我认为由于字符串比较减少,性能会提高。 它的代码也更优雅。

如果不是这样,请您提供一些详细信息。 谢谢,祝您编程愉快。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM