如何使用Simple HTML DOM访问CDATA内的节点?

时间:2012-11-30 15:05:06

标签: php xml cdata

给出一个xml

<xml>
<![CDATA[<myNode>aaa</myNode><anotherNode>bbb</anotherNode>]]>
</xml>

如何使用Simple HTML DOM访问myNode内的节点(它位于CDATA内)?

是否有可能,或者我应该换成另一个lib?

1 个答案:

答案 0 :(得分:2)

任何解析器都会忽略CDATA块,因此除非您解析CDATA文本,否则CDATA块中的任何xml节点都不可查询。换句话说:

  1. 解析原始文档
  2. 查询您的CDATA文本块。您将获得一个新的xml字符串。
  3. 解析新的(内部)xml字符串,并从中查询所需的任何数据。
  4. 说完所有这些之后,为什么世界上你有CDATA块内的完整xml文本?听起来非常懒惰逃避我。