【问题标题】:xml to json using php, failure to include xml <string>使用 php 将 xml 转换为 json,未能包含 xml <string>
【发布时间】:2016-11-01 04:18:58
【问题描述】:

首先,我是 php 的新手。我正在开发一个动物收容所网站(我是一名兽医/编码员),我们正在从一个可供收养的动物在线数据库中获取数据。该 xml 文件有这样的输出(这只是 xml 文件的一小部分):

<TotalWeight>64.5 lbs </TotalWeight>
<UnitWeight>lbs</UnitWeight>
<AdditionalPhotoUrls>
<string>https://eastbayspcapets.shelterbuddy.com//photos/lostfound/doc_55806.jpg</string>
  <string>https://eastbayspcapets.shelterbuddy.com//photos/lostfound/doc_55807.jpg</string>
  <string>https://eastbayspcapets.shelterbuddy.com//photos/lostfound/doc_55809.jpg</string>
  <string>https://eastbayspcapets.shelterbuddy.com//photos/lostfound/doc_55810.jpg</string>
  <string>https://eastbayspcapets.shelterbuddy.com//photos/lostfound/doc_55876.jpg</string>
  <string>https://eastbayspcapets.shelterbuddy.com//photos/lostfound/doc_55877.jpg</string>
  <string>https://eastbayspcapets.shelterbuddy.com//photos/lostfound/doc_71558.jpg</string>
  <string>https://eastbayspcapets.shelterbuddy.com//photos/lostfound/doc_71559.jpg</string>
</AdditionalPhotoUrls>
<AdoptionAmount>0.0000</AdoptionAmount>

php 文件中有这段代码被转换为 json:

 $item['totalweight'] = (string)$animal->TotalWeight;
$item['weight'] = (string)$animal->UnitWeight;
$item['photosX'] = (string)$animal->AdditionalPhotoUrls;

json 输出到文件,使用

echo file_put_contents('page.json', json_encode($data)); 

对于 TotalWeight 和 UnitWeight 是成功的,但对于 AdditionalPhotoUrls 及其字符串则不成功。 子输出是这样的(又是一小部分):

{
"weight": "lbs",
"totalweight": "65",
"photosX": "\n      \n      \n      \n      \n      \n      \n      \n      \n    "
 },

我不清楚我应该如何格式化: (string)$animal-&gt;AdditionalPhotoUrls; 不获取字符串,而是以 \n

结尾

获取所有多个&lt;string&gt;。目前photosX的json文件为空。

任何帮助或指导将不胜感激。

【问题讨论】:

    标签: php json xml


    【解决方案1】:

    这个xml不包含任何属性,所以我们可以很容易地输入:

    <?php $xml = '<root> <TotalWeight>64.5 lbs </TotalWeight> <UnitWeight>lbs</UnitWeight> <AdditionalPhotoUrls> <string>https://eastbayspcapets.shelterbuddy.com//photos/lostfound/doc_55806.jpg</string> <string>https://eastbayspcapets.shelterbuddy.com//photos/lostfound/doc_55807.jpg</string> <string>https://eastbayspcapets.shelterbuddy.com//photos/lostfound/doc_55809.jpg</string> <string>https://eastbayspcapets.shelterbuddy.com//photos/lostfound/doc_55810.jpg</string> <string>https://eastbayspcapets.shelterbuddy.com//photos/lostfound/doc_55876.jpg</string> <string>https://eastbayspcapets.shelterbuddy.com//photos/lostfound/doc_55877.jpg</string> <string>https://eastbayspcapets.shelterbuddy.com//photos/lostfound/doc_71558.jpg</string> <string>https://eastbayspcapets.shelterbuddy.com//photos/lostfound/doc_71559.jpg</string> </AdditionalPhotoUrls> <AdoptionAmount>0.0000</AdoptionAmount> </root>'; $json = json_encode(simplexml_load_string($xml)); echo $json;

    【讨论】:

    • 更新了我的问题。
    猜你喜欢
    • 2012-02-02
    • 1970-01-01
    • 2012-02-08
    • 2014-08-02
    • 2021-05-19
    • 2021-07-01
    • 2018-07-30
    • 2018-03-02
    • 1970-01-01
    相关资源
    最近更新 更多