获取元素节点值:
要获取元素节点的值,可以使用 textContent 属性或 innerHTML 属性。
// 创建 XML 字符串
var xmlString = '<book><title>Introduction to XML</title></book>';
// 使用 DOMParser 解析 XML 字符串
var parser = new DOMParser();
var xmlDoc = parser.parseFromString(xmlString, 'text/xml');
// 获取 <title> 元素的文本内容
var titleElement = xmlDoc.getElementsByTagName('title')[0];
// 使用 textContent 属性获取元素节点值
var titleValue = titleElement.textContent;
console.log('Title Value: ' + titleValue);
// 或者使用 innerHTML 属性
var titleHTML = titleElement.innerHTML;
console.log('Title HTML: ' + titleHTML);
获取文本节点值:
文本节点的值可以直接通过 nodeValue 属性获取。
// 创建 XML 字符串
var xmlString = '<book><title>Introduction to XML</title></book>';
// 使用 DOMParser 解析 XML 字符串
var parser = new DOMParser();
var xmlDoc = parser.parseFromString(xmlString, 'text/xml');
// 获取 <title> 元素的文本节点
var titleTextNode = xmlDoc.getElementsByTagName('title')[0].firstChild;
// 使用 nodeValue 属性获取文本节点值
var titleTextValue = titleTextNode.nodeValue;
console.log('Title Text Value: ' + titleTextValue);
获取属性节点值:
属性节点的值可以通过 nodeValue 属性或者直接通过属性名获取。
// 创建 XML 字符串
var xmlString = '<book category="Fiction"><title>Introduction to XML</title></book>';
// 使用 DOMParser 解析 XML 字符串
var parser = new DOMParser();
var xmlDoc = parser.parseFromString(xmlString, 'text/xml');
// 获取 <book> 元素的 category 属性节点
var categoryAttribute = xmlDoc.getElementsByTagName('book')[0].getAttributeNode('category');
// 使用 nodeValue 属性获取属性节点值
var categoryValue = categoryAttribute.nodeValue;
console.log('Category Value: ' + categoryValue);
// 或者直接通过属性名获取
var categoryDirect = xmlDoc.getElementsByTagName('book')[0].getAttribute('category');
console.log('Category Direct: ' + categoryDirect);
这些示例演示了如何通过 XML DOM 获取元素节点、文本节点和属性节点的值。选择合适的方法取决于节点的类型和应用的需求。
转载请注明出处:http://www.zyzy.cn/article/detail/12155/XML