使用DOMDocument访问和操作XML文件

时间:2010-10-21 13:56:50

标签: php domdocument

我正在尝试使用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(); 
}

1 个答案:

答案 0 :(得分:0)

XML加载似乎是问题的根源,并确定XML文件的哪个部分正在触发错误。

如果您可以确认文件中的BOM不应该受到指责,请参阅:What would cause DOMDocument.load to fail loading XML from a URL that is accessible?