在PHP中修改<string name =“myname”> myvalue </string> XML元素

时间:2012-11-16 20:02:49

标签: php xml dom

我正在尝试使用PHP以编程方式修改一些XML元素。它们的格式为

<string name="myname1">myvalue1</string>
<string name="myname2">myvalue2</string>

等。我无法控制此XML文件的传入结构。有没有一种在PHP中编辑这些的好方法?我已经尝试过使用DOMDocument,但是我没有太多运气使它工作,因为元素没有指定ID并按标签名称进行搜索给了我所有的字符串,而不是我想要的字符串。谢谢你的任何指示。

1 个答案:

答案 0 :(得分:2)

DOMXPath很好地解决了这个问题:

$dom = new DOMDocument();
$dom->loadXML($input);
$xpath = new DOMXPath($dom);
$string = $xpath->query("//string[@name='myname1']")->item(0);
if( $string) {
    // do something
}