При анализе документов с использованием отличной библиотеки libxmljs
в Node.js я наткнулся на случай, когда было найдено много вложенных элементов, и единственное, что мне нужно было сделать, это создать из него объект JS.Как получить объект из XML-документа?
Вот что код выглядит следующим образом:
if (node.type() == 'element') {
switch(node.name()) {
case 'element1': {
myObject.element1 = {}
for (var i = 0; i < node.childNodes().length; i++) {
if(node.type() == 'element') {
switch(node.name()) {
case 'element2': {
myObject.element1.element2 = node.text()
...
}}}}}}}}
/* didn't count the number of closing brackets, but you get the idea ^_^ */
Есть ли более быстрый или встроенный способ сделать такие вещи, создать объект из строки XML (или его части) с использованием libxmlJS?
Обратите внимание, что, если это поможет, разобранный XML должен быть проверен против XTD схемы (которая действительно может быть легко сделана с помощью этой библиотеки)
Благодарности
Ну, это требует рекурсивного решения, а не статического, который явно обрабатывает каждый «уровень». – CBroe