Я пытаюсь преобразовать некоторые данные XML в JSON с кодом, как это:SimpleXmlElement потери атрибутов на PHP
$xml = file_get_contents($query);
$GSP = new SimpleXMLElement($xml);
echo json_encode($GSP);
Проблема, во время SimpleXMLElement, я потерял атрибуты в XML-файлах.
Вот пример из XML;
<ENTOBRESULTS>
<OBRES module_name="ModName">
<provider>ModName</provider>
<title>...</title>
<MODULE_RESULT>
<U> http://someURL.aspx </U>
<Title> AnotherTitle </Title>
<Field name="Main">ASD</Field>
<Field name="ProductType">type</Field>
<Field name="buttonText">Press it</Field>
<Field name="buttonUrl">https://anotherURL.aspx</Field>
</MODULE_RESULT>
</OBRES>
</ENTOBRESULTS>
Но когда я вхожу в $ GSP хрому консоль это показывает, что-то вроде этого:
ENTOBRESULTS: Object
OBRES: Array[3]
0: Object
@attributes: Object
MODULE_RESULT: Array[3]
0: Object
Field: Array[22]
0: "ASD"
1: "type"
2: "Press it"
3: "https://anotherURL.aspx"
Как вы можете видеть, я теряю «имя» атрибуты при $ GSP = новый SimpleXMLElement ($ xml) действий. Есть ли способ предотвратить это? ИЛИ как я могу обойти эту проблему?
'{ "OBRES": { "@ атрибуты": { "MODULE_NAME": "MODNAME"}, "поставщик": "MODNAME", "название": "..." , «MODULE_RESULT»: {«U»: «http: \/\/someURL.aspx», «Title»: «AnotherTitle», «Field»: [«ASD», «type», «Press it», «https : \/\/anotherURL.aspx "]}}}' это то, что выводит веб-браузер !!!! –
Тогда как вы хотите выход ??? –