【发布时间】:2013-06-20 22:17:53
【问题描述】:
我有一些类似这种格式的 XML 文件
...
<section>
<header>Headline</header>
<par>Some text <em>here</em> and more text.</par>
</section>
....
起初我使用 PHP 拉解析器 XMLReader,它只是遍历文件,我可以响应阅读器会遇到的任何节点类型。这一切都运行得很好,但代码感觉臃肿,我需要一些上下文信息,这需要我拖动额外的状态。例如,<header> 标签可以是部分或子部分标签的子标签。
所以我切换到 SimpleXML,因为它将 XML 文档表示为递归数据结构,并为我提供 XPath 功能。没有更多状态(因为我可以查询上下文,例如标题标签)并且代码更加紧凑。
但是...如何访问<par> 标记的"Some text " 和" and more text." 子节点?这可能吗,或者我不能用 SimpleXML 解析汤吗?我是否应该更好地使用 DOMDocument 实现,如果是,是哪一个?与 SimpleXML 的区别在哪里?
【问题讨论】:
标签: php xml-parsing