为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 PHP 中访问此 XML 文件中的数据?

如何在 PHP 中访问此 XML 文件中的数据?

PHP
qq_花开花谢_0 2023-05-26 17:41:12
所以我有一张 XML 发票,我想访问其中的数据,但我完全不知道该怎么做。我尝试按照各种在线指南进行操作,但没有任何效果,我得到零错误但零结果。XML 是这样的:<?xml version="1.0" encoding="UTF-8"?><dat:dataPack id="fa001" application="StwTest" version="2.0" note="Import" xmlns:dat="http://www.stormware.cz/schema/version_2/data.xsd" xmlns:inv="http://www.stormware.cz/schema/version_2/invoice.xsd" xmlns:typ="http://www.stormware.cz/schema/version_2/type.xsd"><dat:dataPackItem id="20007" version="2.0">    <inv:invoice version="2.0">        <inv:invoiceHeader>            <inv:invoiceType>issuedInvoice</inv:invoiceType>            <inv:number>              <typ:numberRequested>20007</typ:numberRequested>            </inv:number>            <inv:paymentType>              <typ:paymentType>draft</typ:paymentType>            </inv:paymentType>            <inv:carrier>            <typ:ids>magic horse</typ:ids>            </inv:carrier>            <inv:numberOrder>20007</inv:numberOrder>            <inv:symVar>20007</inv:symVar>            <inv:date>2020-05-11</inv:date>            <inv:dateTax>2020-05-13</inv:dateTax>            <inv:dateDue>2020-05-27</inv:dateDue>        </inv:invoiceHeader>                    </inv:invoice></dat:dataPackItem></dat:dataPack>例如,我想访问日期 2020-05-11,所以我尝试了这个:$payment_vat_xml = simplexml_load_file(filepath);echo $payment_vat_xml->{'dat:dataPackItem'}->{'inv:invoice'}->{'inv:invoiceHeader'}->{'inv:date'};但我没有结果。任何帮助将不胜感激,干杯。
查看完整描述

1 回答

?
富国沪深

TA贡献1790条经验 获得超9个赞

正确的方法是使用

echo $payment_vat_xml->xpath('/dat:dataPack/dat:dataPackItem/inv:invoice/inv:invoiceHeader/inv:date')[0];
查看完整回答
反对 回复 2023-05-26
  • 1 回答
  • 0 关注
  • 91 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信