现在让我们说我有一个这样的XML文档:
<errors>
<viewErrors>
<viewError code="404">Can't finde requested file</viewError>
<viewError code="405">Method not allowed</viewError>
</viewErrors>
</errors>
我读到了这个:
$_xml = new DOMDocument('1.0', 'utf-8');
$_xml -> load("doc.xml");
$_xpath = new DOMXPath($_xml);
echo $_xpath -> evaluate( '//viewError[@code="404"]' ) -> item(0) -> textContent;
哪个会打印我“找不到请求的文件”,短期内这是一个很好的解决方案,但它不是很干净也不容易复制。首先,如果我的XML改为:
<viewError code="404" type="test">Can't find requested file</viewError>
我必须将评估模式修改为
evaluate ( '//viewError[@code="404" and @type="test"]' )
但由于我对整个评估的工作方式缺乏了解,我不知道如何阅读标签内容,因为使用了项目(0) - &gt; textContent只是给出了“试图获取非对象的属性”错误。所以有两个问题: