Я пытаюсь конвертировать XML в JSON без использования json_encode / json_decode.У меня есть следующий код, помните, что я новичок в PHP и JSON.
<?php
$myXMLData =
"<test>
<info>
<sample>
<sampleOne>test</sampleOne>
<sampleTwo>test two</sampleTwo>
<values value='today'>
<sampleThree>test three</sampleThree>
<sampleFour>test four</sampleFour>
<sampleFive>
<sampleSix>test six</sampleSix>
</sampleFive>
</values>
</sample>
</info>
</test>";
$contents=simplexml_load_string($myXMLData) or die("Error: Cannot create object");
//print_r($contents);
echo '{"' . $contents->getName() . '":{"';
foreach ($contents->children() as $child1)
{
$child1->count();
echo $child1->getName() . '": {"';
echo $child1->attributes();
echo $child1[0];
foreach ($child1->children() as $child2)
{
$child2->count();
echo $child2->getName() . '": {"';
echo $child2->attributes();
echo $child2[0] . ": ";
foreach ($child2->children() as $child3)
{
$child3->count();
echo $child3->getName() . '": {"';
echo $child3->attributes();
echo $child3[0];
foreach ($child3->children() as $child4)
{
$child4->count();
echo $child4->getName();
echo $child4->attributes();
echo $child4[0];
foreach ($child4->children() as $child5)
{
echo $child5->getName();
echo $child5->attributes();
echo $child5[0];
}
}
}
}
}
echo "}";
?>
Результаты должны выглядеть как файл JSON, но я застрял здесь.
{
"test": {
"info": {
"sample": {
"sampleOne": "test",
"sampleTwo": "test two",
"values": {
"-value": "today",
"sampleThree": "test three",
"sampleFour": "test four",
"sampleFive": { "sampleSix": "test six" }
}
}
}
}
}
Я не уверен, что это хороший способ сделать это.Но я уже потратил несколько часов на это, и я не могу найти решение этой проблемы.