如何在xml和php中只查询一个节点?
我有一个代码:
$query = '//文档/状态[. =“已发布”]';
$names = $xpath->query($query); // 一个 匹配元素列表
匹配元素结果
<前><代码><文档> <公司>SEC <类型描述=“其他客户发票”>CINV <文档ID>CI_INV000239562发票 <状态>已发布 <所有者>42570935 <客户>42570935 <位置>42570935 <日期>20111115 <截止日期>20111115 <开放日期>2011111520111115 <税码>澳大利亚 GST <税种>包括 <税率>10.00 <货币代码>AUD <小计>115.00 <总税额>11.50 <总计>126.50 <应付金额>126.50 <支付金额>126.50
如果我想显示
<文档ID>CI_INV000239562
只是
我该怎么办?
如果我想显示更多节点? 例如 AmmountDue ?
$query = '//文档/状态[. =“已发布”]/../DocumentID/AmmountDue';
这是可能的还是我必须使用另一种方法?
谢谢
I have a code :
$query = '//Document/Status[. = "Posted"]';
$names = $xpath->query($query); // A
list of matched elements
result
<Document> <Company>SEC</Company> <Type description="Misc Customer Invoices">CINV</Type> <DocumentID>CI_INV000239562</DocumentID> <DocumentDescription>Invoice</DocumentDescription> <Status>Posted</Status> <Owner>42570935</Owner> <Customer>42570935</Customer> <Location>42570935</Location> <Date>20111115</Date> <DueDate>20111115</DueDate> <OpenDate>20111115</OpenDate> <RequiredDate>20111115</RequiredDate> <TaxCode>AUS GST</TaxCode> <TaxType>Incl</TaxType> <TaxRate>10.00</TaxRate> <CurrencyCode>AUD</CurrencyCode> <SubTotal>115.00</SubTotal> <TotalTax>11.50</TotalTax> <Total>126.50</Total> <AmountDue>126.50</AmountDue> <AmountPaid>126.50</AmountPaid> </Document>
If I want to display
<DocumentID>CI_INV000239562</DocumentID>
only
What should I do ?
If I want more node to be displayed ?
for example AmmountDue ?
$query = '//Document/Status[. = "Posted"]/../DocumentID/AmmountDue';
Is this possible or I must use another method ?
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
有几种方法可以做到这一点,这是示例之一:-
寻找多个节点名称:-
There are few ways to do this, here is one of the example :-
To seek for multiple node name :-