php xml dom从非标准xml中提取数据

时间:2013-10-21 15:11:23

标签: php xml

你好我有这样的xml:

<specs><my>base</my><root>none</root></specs>
<books>

  <item>
    <id>14</id>
    <title>How to live</title>
  </item>

  <item>
    ...
  </item>

</books>

如何从&lt;中提取值?我的&gt; ?然后&lt;标题&gt;?

当我在xml中有如<specs><my>base</my><root>none</root></specs>的数据时,此代码适用于我。那么我应该如何修改它来处理书籍等数据以及xml?

$dom = new DOMDocument();
$dom->loadXml($xml);

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

1 个答案:

答案 0 :(得分:1)

我只是添加了这个:

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

现在这适用于$xpath->query("//xml/specs/my");以及$xpath->query("//xml/books/item");