替换SimpleXMLElement的值

时间:2010-12-07 18:35:39

标签: php xml simplexml

这可能很简单但我在网上找不到任何例子。我需要使用xpath找到一个节点并替换它的值。

这是xml文档的一个小版本:

<?xml version="1.0" encoding="utf-16" standalone="yes"?>
<w:document xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">
  <w:body>
    </w:p>
        <w:r>
            <w:t>John Doe</w:t>
        </w:r>
    </w:p>
  </w:body>
</w:document>

这是我的PHP代码:

<?php

$xml = simplexml_load_file("doc1/word/document.xml");
$result = $xml->xpath("/w:document/w:body/w:p[1]/w:r[1]/w:t[1]");

// the following code doesn't work...
$xml->$result = "George Dow";

echo $xml->asXML();

?>

基本上,John Doe应该是George Dow

1 个答案:

答案 0 :(得分:4)

我找到了解决方案。基本上,由于xpath函数返回一个SimpleXMLElement对象一个数组,我需要将其作为一个访问:

// the following code doesn't work...
$xml->$result = "George Dow";

// but this does :D
$result[0][0] = "George Dow";