我知道我可以像$xml->path->to->tag = $newValue
那样设置一个变量。但是,如果我只有标签名称并且不知道它的路径,我想知道如何设置它的变量呢?有可能吗?
答案 0 :(得分:1)
您正在寻找
要在XML文档中的任何位置搜索元素的XPath为//elementName
示例XML:
<foo>
<bar>
<baz bam="boom">baddam</baz>
</bar>
</foo>
示例PHP代码:
$foo = simplexml_load_string($xml);
$allBazElements = $foo->xpath('//baz');
echo
$allBazElements[0], // baddam
$allBazElements[0]['bam'], // boom
PHP_EOL;
$allBazElements[0][0] = 'changed';
$allBazElements[0]['bam'] = 'changed too';
echo $foo->asXml();
将输出(demo)
baddamboom
<?xml version="1.0"?>
<foo>
<bar>
<baz bam="changed too">changed</baz>
</bar>
</foo>