在 XML 中使用 DOMParser 以使用 JavaScript 获取属性
Using DOMParser in XML to get attribute using 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 />";
});
我可以阅读所有的文字。我的问题是我无法获取 Label 值。我试过了
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
我有一个从 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 />";
});
我可以阅读所有的文字。我的问题是我无法获取 Label 值。我试过了
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