为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

绝地无双 2021-11-12 16:19:35
我有一个从 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");既作为属性作为属性。感谢所有帮助。
查看完整描述

1 回答

?
桃花长相依

TA贡献1860条经验 获得超8个赞

是a.getAttribute('Label')你想要的


这是一种方法


const 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>`;


parser = new DOMParser();

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

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


abstracts.forEach(a => {

  console.log(a.textContent, a.getAttribute('Label'));

});


你也可以


a.attributes['Label'].nodeValue

a.attributes.Label.nodeValue

a.attributes['Label'].textContent

a.attributes.Label.textContent


查看完整回答
反对 回复 2021-11-12
  • 1 回答
  • 0 关注
  • 258 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信