在 XML 中使用 DOMParser 以使用 JavaScript 获取属性

我有一个从 API 获取的 XML 文件,其中一小部分是:


       <Abstract>

            <AbstractText Label="BACKGROUND">A large ...</AbstractText>

            <AbstractText Label="METHODS">We modeled....</AbstractText>

            <AbstractText Label="RESULTS">Mammary glands ... </AbstractText>

            <AbstractText Label="CONCLUSIONS">We report...</AbstractText>

        </Abstract>

我的 JavaScript 代码是:


      parser = new DOMParser();

      xmlDoc = parser.parseFromString(response.data, "text/xml");

      const abstracts = xmlDoc.querySelectorAll("AbstractText");

并通过使用


        abstracts.forEach(a => {         

        abstract_text += a.innerHTML;

        abstract_text += "<br /><br />";

      });

我可以阅读所有的文字。我的问题是我无法获得标签值。我试过了


    let x = a.attribute("Label").nodeValue;


       let x = a.attribute("Label");

既作为属性作为属性。


感谢所有帮助。


绝地无双
浏览 259回答 1
1回答

桃花长相依

是a.getAttribute('Label')你想要的这是一种方法const xml = `<Abstract>&nbsp; &nbsp; <AbstractText Label="BACKGROUND">A large ...</AbstractText>&nbsp; &nbsp; <AbstractText Label="METHODS">We modeled....</AbstractText>&nbsp; &nbsp; <AbstractText Label="RESULTS">Mammary glands ... </AbstractText>&nbsp; &nbsp; <AbstractText Label="CONCLUSIONS">We report...</AbstractText></Abstract>`;parser = new DOMParser();xmlDoc = parser.parseFromString(xml, "text/xml");const abstracts = xmlDoc.querySelectorAll("AbstractText");abstracts.forEach(a => {&nbsp; console.log(a.textContent, a.getAttribute('Label'));});你也可以a.attributes['Label'].nodeValuea.attributes.Label.nodeValuea.attributes['Label'].textContenta.attributes.Label.textContent
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript