我正在尝试使用DOMDocument访问XML文件,查找符合特定条件的数据,然后删除包含它的节点(如果有)。然后,我需要使用剩余的数据创建一个新的XML文件。
下面是我正在使用的函数,$ current_balances是我希望使用的XML文件的完整路径。我正在寻找一个特定的交易日期(我将更改为一个有效的变量),如果找到该日期,那么我需要删除与该日期相关的节点。
虽然问题是我不断收到以下错误,但我无法弄清楚原因 -
警告: DOMDocument :: loadXML() [domdocument.loadxml]:开始标记 预期,'<'在实体中找不到, line:1
我希望这是有道理的,我希望有人能够提供帮助。
感谢。
function get_xml_data($current_balances = null){
$doc = new DOMDOcument;
$doc->loadxml($current_balances);
$xpath = new DOMXpath($doc);
foreach($xpath->query('//data[record/LastAccountsTransactionDate="2010-10-08"]') as $node) {
$node->parentNode->removeChild($node);
}
echo $doc->savexml();
}
答案 0 :(得分:0)
XML加载似乎是问题的根源,并确定XML文件的哪个部分正在触发错误。
如果您可以确认文件中的BOM不应该受到指责,请参阅:What would cause DOMDocument.load to fail loading XML from a URL that is accessible?