2010-12-07 13 views
4

これは簡単かもしれませんが、Web上に例が見つかりませんでした。 xpathを使ってノードを見つけ、その値を置き換える必要があります。SimpleXMLElementの値を置き換えます。

これは、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(); 

?> 

基本的には、ジョン・ドウは、ジョージ・ダウ

答えて

4

する必要があります私が見つかりました。溶液。基本的に、xpath関数はのSimpleXMLElementオブジェクトを返しますので、私は1つとしてアクセスする必要があります:

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

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