使用XMLReader在PHP中解析XML - 混合内容元素 - 我的文本在哪里?

时间:2010-07-07 19:18:24

标签: php xml xmlreader

我在解析一段纯文本时遇到了麻烦;甚至用print-statement循环遍历所有节点,它们都不包含我在XML文件中写的文本。

这是DTD中的元素规范:

<!ELEMENT question (#PCDATA | choice)*>

这是我正在使用的数据:

<question id="porridge" name="porridge" type="multiple">
 What is 1 + 2?
 <choice id="twelve" value="twelve">12</choice>
 <choice id="three" value="three" correct="true">3</choice>
 <choice id="banana" value="banana">Banana!</choice>
</question>

&lt; question&gt;中的第一个节点是XMLReader :: TEXT类型,但根据readOuterXML()它是空的。我怎样才能得到“什么是1 + 2?”

1 个答案:

答案 0 :(得分:0)

readOuterXML()移动当前节点,并且在所有情况下都不返回节点的实际内容。我的测试循环打破了其余的解析。