0
PHP에서 DOMXPath의 기본 사항을 이해하려고합니다. 아래에서 시작하는 XML 파일이 있습니다. PHP DOMXPath 노드 이름별로 쿼리가 없습니다.
<?xml version="1.0"?>
<ListFinancialEventsResponse xmlns="http://mws.amazonservices.com/Finances/2015-05-01">
<ListFinancialEventsResult>
<FinancialEvents>
<ShipmentEventList>
<ShipmentEvent>
나는 몇 가지 XPath 쿼리 시도하지만 어느 작품 아래의 PHP를 사용하여 FinancialEvents 태그를 얻기 위해 노력하고있어.
$file = file_get_contents('file.xml');
$dom = new DOMDocument();
$dom->loadXML($file);
$xpath = new DOMXPath($dom);
$xpath->registerNamespace('m','http://mws.amazonservices.com/Finances/2015-05-01');
$events = $xpath->query('FinancialEvents'); // Attempt 1
$events = $xpath->query('m:FinancialEvents');// Attempt 2
문서에 따르면, 이들은 'FinancialEvents'라는 이름의 모든 노드를 반환해야합니다. 나는 아래의 xpath 쿼리를 사용하면 작동한다는 것을 알고있다.
$events = $xpath->query('//m:FinancialEvents');
내 첫 번째 질문은 왜 작동하지 않는가? 요소가 없습니다 <FinancialEvents>도 같은 이름의 노드입니까?
감사