簡體   English   中英

如何從 XML 中提取節點數據

[英]How to extract node data from XML

我正在嘗試從此XML中提取一個節點(稱為 identifierValue)

我嘗試過的幾件事:

$NewXML = new SimpleXMLElement($response);
$ABN = $NewXML->xpath('//ABRPayloadSearchResults/response/searchResultsList/searchResultsRecord/ABN/identifierValue');

$ABN = $NewXML->ABRPayloadSearchResults[0]->response->searchResultsList->searchResultsRecord->ABN->identifierValue;

但沒有得到任何結果。 我用一個簡單的虛擬 XML 嘗試了相同的方法,它可以工作。

知道為什么這對我的 XML 失敗了嗎?

我希望您的問題是您的 XPath 查詢使用不在命名空間中的元素名稱,而 XML的元素在命名空間中。

如果您使用此處描述的函數https://www.php將前綴(例如“abr”)與 XML 中使用的名稱空間 URI(即http://abr.business.gov.au/ABRXMLSearchRPC/literalTypes )相關聯。 net/manual/en/simplexmlelement.registerxpathnamespace.php ,那么您應該能夠使用使用該前綴的 XPath 表達式進行查詢,例如

//abr:ABRPayloadSearchResults/abr:response/abr:searchResultsList/abr:searchResultsRecord/abr:ABN/abr:identifierValue

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM