[英]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.