我有一个从 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");
既作为属性又作为属性。
感谢所有帮助。
最佳答案
这是您想要的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
关于javascript - 在 XML 中使用 DOMParser 使用 JavaScript 获取属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58279200/