我有这个XML(例子):
<rows>
<row id="123">
<district>123</district>
<email>test@gmail.com</email>
<area>V</area>
</row>
</rows>
我从URL获取在线XML。 我正在使用以下PHP代码转换为JSON: ($ url是上面我的XML的URL的变量。)
<?php
class XmlToJson {
public function Parse ($url) {
$file = file_get_contents($url);
$file = str_replace(array("\n", "\r", "\t"), '', $file);
$file = trim(str_replace('"', "'", $file));
$simpleXml = simplexml_load_string($file);
$json = json_encode($simpleXml);
return $json;
}
}
?>
返回(示例):
{
"rows": {
"row": [
{
"@attributes": {
"id": "4310"
},
"district": "123",
"email": "teste@gmail.com",
"area": "V"
}
]
}
}
如何在没有这些标签“rows”和“row”的情况下生成JSON?
答案 0 :(得分:1)
带有单行的示例XML字符串会返回此json:
{"row":{"@attributes":{"id":"123"},"district":"123","email":"test@gmail.com","area":"V"}}
我假设你的例子是json,<rows>
标签周围还有其他标签,如
<xml>
<rows>
<row id="123">
<district>123</district>
<email>test@gmail.com</email>
<area>V</area>
</row>
</rows>
</xml>
Simple XML将您的xml字符串转换为对象。只需访问要转换为json的生成对象的特定属性。
试试这个:
$json = json_encode($simpleXml->rows->row);