Я должен отображать иерархическую структуру, и мой вход поступает из веб-службы в XML, как этот:Иерархическая XML в JSON
<Nodes>
<Node>
<Data>
<Attribute name="ID">Desktop</Attribute>
<Attribute name="Parent">administrator</Attribute>
</Data>
<Relationship>
<RelatedNodes>
<Node>
<Data>
<Attribute name="ID">administrator</Attribute>>
<Attribute name="Parent">Users</Attribute>
</Data>
<Relationship>
<RelatedNodes>
<Node>
<Data>
<Attribute name="ID">Users</Attribute>
<Attribute name="Parent">C</Attribute>
</Data>
<Relationship>
<RelatedNodes>
<Node>
<Data>
<Attribute name="ID">C</Attribute>
<Attribute name="Parent"/>
</Data>
</Node>
</RelatedNodes>
</Relationship>
</Node>
</RelatedNodes>
</Relationship>
</Node>
</RelatedNodes>
</Relationship>
</Node>
</Nodes>
и отобразить его ребята UI просят меня, чтобы преобразовать к JSON как этот:
{
children:[{
"title": "C",
"level": "1",
"children": [
{
"title": "Users",
"level": "2",
"children": [
{
"title": "administrator",
"level": "3",
},
"children": [
{
"title": "Desktop",
"level": "4",
},
]
]
}
]
}]
}
Любые идеи о том, как это сделать с помощью XSLT или любого другого инструмента преобразования?
Спасибо!
Просто выполните поиск по SO, много способов сделать это, вот Javascript: http://stackoverflow.com/questions/7769829/tool-javascript-to-convert-a-xml-string-to-json – raffian
Ваш XML не является синтаксически действительным (пожалуйста, исправьте его), и неясно, как оно относится к вашему образцу JSON. Что такое 'C' например? – Tomalak
Спасибо Raffian, я нашел множество инструментов для преобразования XML в JSON, но все эти инструменты буквально преобразуют xml, я имею в виду, что каждый элемент xml является элементом JSON. Проблема здесь в том, что у меня есть иерархическая структура xml, и я не знаю глубины, поэтому мне нужно перейти к родительскому элементу, который должен быть более глубоким элементом в структуре и перейти к последнему элементу., Но как я знаю путь родителя, если я не знаю глубины структуры. – user2516482