在使用 Node.js 中出色的库解析文档时libxmljs
,我偶然发现了一个发现大量嵌套元素的案例,而我唯一要做的就是从中创建一个 JS 对象。
这是代码的样子:
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 ^_^ */
是否有更快或内置的方法来做这些事情,使用 libxmlJS 从 XML 字符串(或它的一部分)创建一个对象?
请注意,如果有帮助,解析的 XML 必须针对 XTD 模式进行验证(使用这个库可以很容易地完成)
谢谢