PHP:XML解析问题

osc*_*arm -3 php xml parsing simplexml xml-parsing

我正在使用SimpleXML来解析XMl文档.我需要能够读取/更新节点属性.

在这个XML文档中

<root>
  <node>ABC</node>
  <key>123</key>
  <node2>
     <key>456</key>
  </node2>
  <key>789</key>
</root>
Run Code Online (Sandbox Code Playgroud)

如何读取/更新所有关键节点?该文档没有特定的结构,所以我需要能够在不知道其位置的情况下找到它们.假设我想将关键节点中的数字乘以2.我该怎么做?

韩国社交协会.

Gor*_*don 8

我发现这个问题非常懒惰,但无论如何

$sxe = new SimpleXmlElement($xml);
foreach($sxe->xpath('//key') as $key) $key[0] *= 2;
echo $sxe->asXML();
Run Code Online (Sandbox Code Playgroud)

Stack Overflow上有很多关于SimpleXml问题.在提出问题之前请先搜索一下.PHP手册还有一些涵盖基本用法的示例.