0

我正在寻找解析这样的 XML 文件

<class>
    <subject>
        <knowledgeLevel> 1 </knowledgeLevel>
        <subjectName> Try1 </subjectName>
        <theory>
            <tutorial> Quickly Explain Try1 </tutorial>
            <full> Largely Explain Try1 </full>
        </theory>
        <example>
            <id> 1 </id>
            <code> some code </code>
            <level> easy </level>
        </example>
        <example>
            <id> 2 </id>
            <code> some code </code>
            <level> hard </level>
        </example>
    </subject>
</class>

考虑到文件中最终会出现多个主题,我如何让理论和示例的 subChilds 用 Ja​​vascript 编写 HTML 表格?

4

1 回答 1

0

这个简单的脚本应该可以满足您的目的;它将 XML 包装在一个临时<div>元素中,以便您可以遍历它。

var div = document.createElement('div');

div.innerHTML = xml;

function getChildElements(node, fn)
{
  [].forEach.call(node.childNodes, function(node) {
    if (node.nodeType == 1) {
      fn(node);
    }
  });
}

getChildElements(div.firstChild, function(subject) {
  getChildElements(subject, function(info) {
      console.log(info.tagName);
      console.log(info.textContent);
  });
});

演示

于 2013-04-11T09:40:31.640 回答