在 XML DOM(文档对象模型)中,获取节点的值通常涉及到不同类型的节点,例如元素节点、文本节点和属性节点。以下是一些获取不同类型节点值的示例:

获取元素节点值:

要获取元素节点的值,可以使用 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