我目前有一个XML文件正在使用WordPress上的插件导入。
我有一个当前正在自动导入数据和时间的字段,但该字段包含当前格式的数据
<EndDate>2014-04-24T00:00:00+01:00</EndDate>
我需要以某种方式删除时间字段,但我仍然坚持如何做到这一点(使用php)。
有没有办法创建一个删除时间的函数,以便该字段拉入;
<EndDate>YYYY-MM-DD</EndDate>
请帮忙。
答案 0 :(得分:0)
首先需要准确找到该字段。您可以使用simplexml。 要输出格式化日期,请使用date功能。它接受UNIX时间戳。 您可以使用strtotime函数获取该时间戳,该函数将日期+时间格式化为字符串并返回UNIX时间戳。
答案 1 :(得分:0)
这是你可以做的事情的一种方式
$xml = "<reservation>
<detail>
<name>XXXXX</name>
<EndDate>2014-04-24T00:00:00+01:00</EndDate>
</detail>
<detail>
<name>YYYYY</name>
<EndDate>2014-04-24T00:00:00+01:00</EndDate>
</detail>
</reservation>";
$data = simplexml_load_string($xml);
//rint_r($data);
foreach ($data->detail as $obj)
{
$end_date = $obj->EndDate ;
$date = new DateTime($end_date);
$obj->EndDate = $date->format("Y-m-d");
}
$new_xml = $data->asXML();
echo $new_xml ;
您也可以另存为文件
$data->asXML($file);
我用于将字符串加载为
$data = simplexml_load_string($xml);
您也可以将文件加载为
$data = simplexml_load_file($file);
答案 2 :(得分:0)
可以使用Xpath从XML DOM获取节点,但它也可以提取标量值。它甚至还有一些功能。其中一个是string-before()
,它在子字符串之前返回字符串的一部分。
$xml = "<EndDate>2014-04-24T00:00:00+01:00</EndDate>";
$dom = new DOMDocument();
$dom->loadXml($xml);
$xpath = new DOMXpath($dom);
var_dump(
$xpath->evaluate('substring-before(//EndDate, "T")')
);
string(10) "2014-04-24"