【问题标题】:Convert XML to Json (Document labelled UTF-16 but has UTF-8 content)将 XML 转换为 Json(标记为 UTF-16 但具有 UTF-8 内容的文档)
【发布时间】:2018-07-24 19:53:22
【问题描述】:

我有一个想要转换为 JSON 的 XML。

XML如下。

<?xml version="1.0" encoding="UTF-8"?>
<ns0:COMMAND xmlns:ns0="http://www.tibco.com/schemas/pinless/PINLESS.core/C2STransferBillPayment/Schema.xsd9">
   <ns0:TYPE>EXRCTRFRESP</ns0:TYPE>
   <ns0:TXNSTATUS>7893</ns0:TXNSTATUS>
   <ns0:DATE>14/02/18 12:22:30</ns0:DATE>
   <ns0:EXTREFNUM>Dibon20180214122227pnqeP1yxqN</ns0:EXTREFNUM>
   <ns0:TXNID />
   <ns0:MESSAGE>No such user exists, password is invalid.</ns0:MESSAGE>
</ns0:COMMAND>

我试过了

$xml = simplexml_load_string($xml_string);
$json = json_encode($xml);

但是得到了simplexml_load_string(): Entity: line 1: parser error : Document labelled UTF-16 but has UTF-8 content

关于如何将 XML 转换为 JSON 的任何建议?

【问题讨论】:

  • 您确定 XML 文档是 UTF-8 吗?您的 XML 在第 1 行有 UTF-8。

标签: php json xml-parsing


【解决方案1】:

我认为您遇到了命名空间问题 试试

$responsexml = simplexml_load_string($xml_string);
$child_data_response = $responsexml->children('http://www.tibco.com/schemas/pinless/PINLESS.core/C2STransferBillPayment/Schema.xsd9');
print_r($child_data_response);

从那里你可以把它变成一个对象,你可以对它进行 json 编码或做任何你想做的事情

【讨论】:

    猜你喜欢
    • 2018-10-12
    • 2015-09-19
    • 1970-01-01
    • 1970-01-01
    • 2015-09-21
    • 2013-04-11
    • 1970-01-01
    • 2010-10-19
    相关资源
    最近更新 更多