我有一個問題,林根據一個孩子值試圖刪除元素(孩子的): 這裏是XML示例:
<?xml version="1.0" encoding="UTF-8"?>
<Businesses>
<Business NAME="busin1">
<CHILD ID="30"><title>child Title</title>
<description>Child Description</description>
<urlToSite>http://www.MySite.co.il</urlToSite>
<endtime>20120720103000</endtime>
<starttime>20120710191500</starttime>
</CHILD>
<CHILD>...</CHILD>
<CHILD>...</CHILD>
</Business>
</Businesses>
現在我需要刪除所有特定的「兒童「元(已包含兒童),其‘結束時間’值是舊的,然後現在(或簡稱‘結束時間’等於特定值)
‘結束時間’與格式的日期:YYYYMMDDHHMMSS
這裏我的第一次嘗試(沒有成功):
$doc = new DOMDocument;
$doc->load('MyXML.xml'); //The XML Above
$thedocument = $doc->documentElement;
//this gives you a list of the childs
$list = $thedocument->getElementsByTagName('CHILD');
//figure out which ones you want -- assign it to a variable (ie: $nodeToRemove)
$nodeToRemove = null;
$time=date("YmdHis",time());
foreach ($list as $domElement){
$attrValue = $domElement->childNodes->item('endtime')->nodeValue; //not Sure about this!!
if ($attrValue > $time) {
$nodeToRemove = $domElement;
}
}
//Now remove it.
if ($nodeToRemove != null)
$thedocument->removeChild($nodeToRemove);
echo $doc->saveXML();
非常感謝!
嗨!我試過你的代碼,它仍然無法正常工作:(我無法理解爲什麼...我在你的代碼中發現的唯一問題是> {$ maxTime}應該是<{$ maxTime}它找到正確的CHILD ID(我添加了:「echo $ businessNode-> getAttribute('ID');」我可以看到正確的CHILD ID,但它不會將它從節點中刪除,我添加了「echo $ doc-> saveXml() ;「最後以及...任何建議??謝謝! – EranLevi 2012-07-28 14:23:19