PHP XML DOM 从非标准 XML 中提取数据


php xml dom extract data from non-standard xml

你好,我有这样的xml:

<specs><my>base</my><root>none</root></specs>
<books>
  <item>
    <id>14</id>
    <title>How to live</title>
  </item>
  <item>
    ...
  </item>
</books>

如何从<>中提取价值,然后<标题>?

当我有以下数据时:<specs><my>base</my><root>none</root></specs> XML中,此代码对我有用。那么我应该如何修改它以处理 xml 中的书籍等数据呢?

$dom = new DOMDocument();
$dom->loadXml($xml);
$xpath = new DOMXPath($dom);
$entry = $xpath->query("//xml/specs/my");
foreach($entry as $ent){
  echo $ent->nodeValue;
}

我只是简单地添加了这个:

$xml="<xml>".$xml."</xml>";

现在这既$xpath->query("//xml/specs/my");也有效$xpath->query("//xml/books/item");