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