使用PHP的simpleXML和xpath更新节点值不起作用

Mok*_*han 2 php simplexml

我在类中有以下代码:

$tmp= $this->Xml->xpath("/page/text[@id='$this->Id']");
$tmp[0]= $this->Text;
echo $tmp[0];
echo $this->Xml->asXml();
$this->Xml->asXML($this->FileName); //save XML
Run Code Online (Sandbox Code Playgroud)

问题是"echo $ tmp [0]"打印更新的文本,而$ this-> Xml-> asXml()仍然包含旧节点值.搜索这个网站我发现这是更新整个XML树的正确方法,但这仍然无效.任何的想法?

谢谢

Cor*_*ter 12

PHP的文档迫切需要一个这样的例子......答案似乎是:

$tmp = $this->Xml->xpath("/page/text[@id='$this->Id']");
$tmp[0][0] = $this->Text;
echo $tmp[0][0];
echo $this->Xml->asXml();
$this->Xml->asXML($this->FileName); //save XML
Run Code Online (Sandbox Code Playgroud)

似乎你需要引用节点的第一个孩子,这将是文本(我假设这是正在发生的事情).

注意第二个括号$tmp[0][0].