【问题标题】:Problems to read a XML with PHP使用 PHP 读取 XML 的问题
【发布时间】:2014-10-29 15:43:20
【问题描述】:

我正在尝试使用 'simplexml_load_file' 读取一个 XML 文件,它工作正常,除了一个文件具有这些标签 '',''。当我尝试读取这个文件时,它就像一个空白文件一样失败。比我尝试删除这个字符':'而且它有效......

有没有更好的阅读方式,而不删除“:”字符?

这里是 XML

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <soap:Header>
        <nfeCabecMsg xmlns="http://www.portalfiscal.inf.br/nfe/wsdl/NfeAutorizacao">
            <cUF>43</cUF>
            <versaoDados>3.10</versaoDados>
        </nfeCabecMsg>
    </soap:Header>
    <soap:Body>
        <nfeAutorizacaoLoteResult xmlns="http://www.portalfiscal.inf.br/nfe/wsdl/NfeAutorizacao">
        <retEnviNFe xmlns="http://www.portalfiscal.inf.br/nfe" versao="3.10">
            <tpAmb>2</tpAmb>
            <verAplic></verAplic>
            <cStat>104</cStat>
            <xMotivo>Lote processado</xMotivo>
            <cUF>43</cUF>           
            <dhRecbto>2014-10-29T08:49:23-02:00</dhRecbto>
            <protNFe versao="3.10">
                <infProt>
                    <tpAmb>2</tpAmb>
                    <verAplic></verAplic>
                    <chNFe></chNFe>
                    <dhRecbto>2014-10-29T08:49:23-02:00</dhRecbto>
                    <nProt>143140001934763</nProt>
                    <digVal></digVal>
                    <cStat>100</cStat>
                    <xMotivo>Autorizado o uso da NF-e</xMotivo>
                </infProt>
             </protNFe>
        </retEnviNFe>
        </nfeAutorizacaoLoteResult>
    </soap:Body>
</soap:Envelope>

【问题讨论】:

  • 请格式化代码并标记导致问题的标签。
  • 我需要阅读最后一个标签 但我无法通过这些标签打开此 XML
  • 为什么不使用 SoapClient 类? php.net/manual/en/soapclient.soapclient
  • 我应该如何使用它来读取 XML?我以前从没用过这些类,你能给我举个例子吗?

标签: php xml


【解决方案1】:

在 XML 文件中,您必须转义特殊字符。否则,您的 XML 语法将被破坏。

http://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references

其他人认为获取 XML 的请求可能不是 UTF-8 格式。

【讨论】:

  • 但是这个XML不是我做的,我是从服务器返回的
  • 好的,你如何获取文件?也许您的编码不正确?
  • 这是来自服务器的返回,我发送我的 XML,服务器将这个 XML 发送给我。这是一个金融系统。
  • 是的,但是编写代码如何发送和获取 XML 文件。例如,当您使用 curl 执行此操作时,您应该设置正确的编码
  • 我使用的是框架,我没有设置任何编码。我的框架是来自nfephp.org 的 nfephp
【解决方案2】:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-20
    • 1970-01-01
    • 1970-01-01
    • 2018-02-23
    • 2016-05-30
    • 2023-03-10
    • 1970-01-01
    相关资源
    最近更新 更多