Доступ к XML-файлу и манипулирование им с помощью DOMDocument - PullRequest
0 голосов
/ 21 октября 2010

Я пытаюсь использовать DOMDocument для доступа к файлу XML, найти данные, которые соответствуют определенным критериям, а затем удалить узел, содержащий их, если это так. Затем мне нужно создать новый XML-файл с оставшимися данными.

Ниже приведена функция, которую я использую, с $ current_balances - это полный путь к XML-файлу, который я хочу использовать. Я ищу конкретную дату транзакции (которую я изменю на переменную, которая работает), и, если эта дата найдена, мне нужно удалить узел, связанный с этой датой.

Проблема, однако, в том, что я продолжаю получать следующую ошибку, и я не могу понять, почему -

Предупреждение: DOMDocument :: loadXML () [domdocument.loadxml]: начальный тег ожидается, что «<» не найдено в Entity, строка: 1 </p>

Надеюсь, это имеет смысл, и я надеюсь, что кто-то сможет помочь.

Спасибо.

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 голосов
/ 21 октября 2010

Кажется, что загрузка XML является корнем вашей проблемы и определяет, какая часть файла XML вызывает ошибку.

Если вы можете подтвердить, что не виновата спецификация в файле, посмотрите следующее: Что может вызвать сбой при загрузке DOMDocument.load XML с URL-адреса, который доступен?

...