2012-01-06 67 views
1

改變一個XML變量,我知道我可以設置這樣的$xml->path->to->tag = $newValue的變量。但是如果我只有標籤名稱,不知道它的路徑,我不知道如何可以設置它的變量?可能嗎?是否有可能僅標籤名用SimpleXML在PHP

回答

1

您正在尋找

XPath XML文檔中的任何地方搜索元素是//elementName

示例XML:

<foo> 
    <bar> 
     <baz bam="boom">baddam</baz> 
    </bar> 
</foo> 

Ë xample 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> 
+0

喔,我不知道它返回引用。謝謝 – ibrahim 2012-01-06 14:55:41

+0

爲什麼$ allBazElements [0] = '改爲';不起作用? – ibrahim 2012-01-06 15:01:23

+0

@ibrahim不知道,對不起。 – Gordon 2012-01-06 15:07:54

相關問題