【发布时间】:2011-06-06 17:01:36
【问题描述】:
阅读和加载没有问题,但我不确定从特定位置获取字符串的语法。
例如,使用这个 XML...
<stories>
<story ID="01" name="Story 1">
<scenes>
<scene ID="01" name="Scene 1">
<pages>
<page ID="01">
<charName>
n010101
</charName>
<charTalk>
s010101
</charTalk>
</page>
</pages>
</scene>
</scenes>
</story>
</stories>
怎么说呢……
“来自 ID 为 01 的页面中的 charName,在场景中 ID 为 01 的页面中,在故事中 ID 为 01 的场景中”
作为路径,它可能类似于:stories > story 01 > scenes > scene 01 > pages > page 01 > charName
我查看了其他实现 TBXML 的项目,但找不到我想要的。
(我也很不擅长看别人的源代码,所以我可能不止一次遇到过。)
My loadStories method on Pastebin
编辑:我想知道...哪个更快,TBXML 或 plist,哪个更容易编码?
它们都完全加载到内存中,因此归结为行数、可读性和解析时间。
...
还在等待答案。如果有人可以向我抛出一个好的(有用的)教程,我不介意切换到 NSXMLParser,但是 TBXML 更轻量,即使它的占用空间稍大,文件也很大。
无论如何,TBXML 变重需要多少?
【问题讨论】:
-
您是否在寻找功能之类的关键路径?
-
@Deepak“关键路径”?那是什么?
-
我以为您想要某种快速访问方法,您可以在其中传递
stories.story[id='01].scenes.scene[id='01'].pages.page[id='01'].charName ` 并获取值。 -
@Deepak 是的,类似的。我需要调整一些东西才能让它工作,但我不知道从哪里开始。重读
-loadStories是一个开始,我猜... -
XPath 会让这变得非常简单,不是吗?
标签: objective-c xml dom