2015-04-02 107 views
1

我有一個xml其格式是這樣的:PHP DOM使用XPath去除標籤

<root> 
    <a>1</a> 
    <b>2</b> 
    <c></c> 
</root> 

這是我曾嘗試代碼:

$to = 3; 
$dom = new DOMDocument(); 
$dom->formatOutput = true; 
$dom->preserveWhiteSpace = false; 
$dom->load("../xxx.xml"); 
$xpath = new DOMXPath($dom); 
$query = "/root/*[position()=$to]"; 
$nodes = $xpath->query($query); 
$node = $nodes[0]; 
$dom->removeChild($node); 
$dom->save("../xxx.xml", LIBXML_NOEMPTYTAG); 

如何刪除標籤與名字「c」?

回答

0

主啊,問題是謊言

$dom->removeChild($node); 

下應該是

$node->parentNode->removeChild($node); 

爲了刪除一個節點,你必須要回父節點,然後將採取行動..我想,這只是我的兩分錢。如果有人明白,請隨時糾正我