0

现在假设我有一个这样的 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"]' )

但是由于我对整个评估的工作原理缺乏了解,我不知道如何阅读标签内容,因为使用 item(0) -> textContent 只会给出“尝试获取非对象的属性”错误。所以有两个问题:

  1. 有没有更简洁的方式在 PHP 中读取 XML
  2. 如果没有更简洁的方法,我如何从上面的脚本中读取评估标签的内容。
4

0 回答 0