2011-03-30 98 views
0

每個人,使用PHP:需要刪除所有匹配的XML節點

道歉爲簡單起見。當我在C#和SQL Server中更舒適時,我正在使用PHP和XML進行一次性快速的一次性操作。

我有一個看起來像這樣的XML文件:

<items> 
    <item> 
     <name>Item A</name> 
     <sort>2</sort> 
    </item> 

    <item> 
     <name>Item B</name> 
     <sort>3</sort> 
    </item> 

    <item> 
     <name>Item C</name> 
     <sort>1</sort> 
    </item> 
</items> 

我需要刪除所有的排序節點,這樣:

<items> 
    <item> 
     <name>Item A</name> 
    </item> 

    <item> 
     <name>Item B</name> 
    </item> 

    <item> 
     <name>Item C</name> 
    </item> 
</items> 

應該很簡單吧?

+0

Duplicate http://stackoverflow.com/questions/4177376/delete-all-elements-of-a-certain-type-from-an-xml-doc-using-php – Gordon 2011-03-30 19:08:16

+0

謝謝戈登。除了那一個,我一定讀過每一篇文章。對不起,重複 - 儘管希望有需要的人會看到這一點。 – ropadope 2011-03-30 19:20:16

回答

0

是...

$xml = simplexml_load_file('test.xml'); 
foreach($xml->item as $item) { 
     unset($item->sort); 
} 
echo $xml->asXml(); 

測試這個.. simplexml的是在我看來,更容易。然後你會寫「$ xml-> asXML()」到你的文件中。

+0

感謝您的快速回答。戈登的鏈接http://stackoverflow.com/questions/4177376/delete-all-elements-of-a-certain-type-from-an-xml-doc-using-php作爲重複完全按照需要在我的實例中工作。 – ropadope 2011-03-30 19:21:15

+0

沒問題,我也用simplexml更新了我的答案。它實際上工作。 ;) – 2011-03-30 19:22:48

+0

我更喜歡這個。再次感謝! – ropadope 2011-03-30 19:28:55