2014-05-14 89 views
1

我想使用DOM和PHP在XML文檔中刪除一個子節點,但我無法完全弄清楚如何去做。我無法訪問simpleXML。使用DOM和PHP刪除XML文件的子節點

XML佈局:

<list> 
    <as> 
    <a> 
     <a1>delete</a1> 
    </a> 
    <a> 
     <a1>keep</a1> 
    </a> 
    </as> 
<list> 

PHP代碼:

$xml = "file.xml"; 
$dom = DOMDocument::load($xml); 
$list = $dom->getElementsByTagName('as')->item(0); 

//Cycle through <as> elements (there are multiple in the full file) 
foreach($list->childNodes as $child) { 
    $subChild = substr($child->tagName, 0, -1); 
    $a = $dom->getElementsByTagName($subChild); 
      //Cycle through <a> elements 
    foreach($a as $node) 
    { 
     //Get status for status check 
     $check= $node->getElementsByTagName("a1")->item(0)->nodeValue; 
     if(strcmp($check,'delete')==0) 
     { 
         //code to delete here (I wish to delete the <a> that this triggers 
     } 
    } 
} 

回答