0
我有一個XML文件,其中載有我不需要的記錄,XML文件通過XMLRPC進入WordPress很少。我需要做的是根據我不需要的日期去除所有記錄,這樣我就不會有數百個通過PHP重複發佈的帖子。我的XML文件的格式爲這樣:刪除基於日期節點的XML記錄
<data>
<in>
<a>First Name</a>
<b>Surname </b>
<c>07:00:00 11/08/2012</c>
</in>
<in>
<a>First Name</a>
<b>Surname </b>
<c>08:00:00 11/09/2012</c>
</in>
<in>
<a>First Name</a>
<b>Surname </b>
<c>09:00:00 11/10/2012</c>
</in>
</data>
所以我需要檢查是否是昨天的,如果是保持的記錄,如果它是之前從XML文件中刪除它。狩獵圍繞我有這個至今:
<?php
$DATE = date("Y-m-d", mktime(0, 0, 0, date("m"), date("d")-1, date("y")));
$searchString = '';
$doc = new DOMDocument;
$doc->preserveWhiteSpace = FALSE;
$doc->load('file' . $DATE . '.xml');
$xPath = new DOMXPath($doc);
$query = sprintf('//in[./c[contains(., "%s")]]', $searchString);
foreach($xPath->query() as $node) {
$node->parentNode->removeChild($node);
}
$doc->formatOutput = TRUE;
echo $doc->saveXML();
?>
如果這會工作,然後我想我只是需要正確的搜索字符串,對不起,我不是偉大的XPATH
您需要將'$ query'變量放入'query()'調用中。也'。 =「%s」'應該已經可以工作了。除此之外,我會說它看起來不錯。 --- http://eval.in/2668 – hakre
這可以通過XSLT 2.0輕鬆完成。 –
謝謝,這是我認爲如何使變量刪除昨天以外的所有內容?我知道文件中的第一個日期,所以我想我需要爲第一個日期創建一個新變量,然後將它與昨天進行比較,如果它在兩者之間,那麼刪除記錄?我將如何做到這一點? – csuk1