js访问 xmldom
加载XML文档:
var
xmlDom =
new
ActiveXObject(
"MSXML2.DOMDocument"
);
xmlDom.load(
"filename.xml"
);
//加载XML文件
2. 访问节点:
var
root = xmlDom.documentElement;
//获取根节点
var
nodeList = root.childNodes;
//获取节点的所有子节点
var
node = nodeList[i];
var
name = node.attributes[0].value;
//获取节点的第一个属性的值
var
xmlElement = node.xml;
//包含起始标签+内容+结束标签
var
content = xmlElement.childNodes[0].xml;
//若xmlElement不包括子节点,则可以获得xmlElement标签中的内容;若其包括子节点,则获得第一个子节点标签及其内容;
var
content = xmlElement.text;
3. 添加节点:
var
newElement = xmlDom.createElement(
"element"
);
// 创建attribute属性,并添加到element节点上
var
attribute = xmlDom.createAttribute(
"attribute"
);
attribute.value =
"attrubuteValue"
;
newElement.setAttributeNode(name);
// 创建subElement子节点,并添加到newElement节点上
var
subElement = xmlDom.createElement(
"subElement"
);
newElement.text =
"SubElementContent"
;
newElement.appendChild(subElement);
//将newElement添加到根节点下
root.appendChild(newElement);
4. 删除节点:
var
node = root.selectSingleNode(
"xpath"
);
if
(node !=
null
)
root.removeChild(node);
5. 保存节点:
xmlDom.save(
"driver:\\dir\filename.xml"
);
//保存XML文件
6. Xpath几个例子:
authors
authors/author
authors/author/name
authors
/**/
/*/name
authors/author/*
//*为通配符
authors/author[nationality]/name
//用“[]”来限制只选取拥有nationality子节点的节点
authors/author[nationality=
'Russian'
]/name
//进一步限制子节点nationality的值为'Russian'
authors/author[@period=
"classical"
]
//选取属性period为"classical"的节点
authors/author/@period
//选取节点的属性