+ -
当前位置:首页 → 问答吧 → 怎样对XML的一个元素的多个属性进行操作?

怎样对XML的一个元素的多个属性进行操作?

时间:2004-04-30

来源:互联网

我想用ASP程序对XML文件添加数据,如:
<item  id="1" icon="icons/flash.jpg" info="作品一" url="projects/domain.swf"  about="这个FLASH是我做的,主要是让更多人知道,希望大家喜欢:)"/>

我能向XML添加 item(用createNode),但无法添加 item的属性如 id、info
查了资料好象是说用“SetAttributeNode”,谁能说仔细点啊?

作者: 阿辉   发布时间: 2004-04-30

下面的脚本代码展示如果创建一个叫 ID 的属性并增加到 DOMDocument 对象上

var xmlDoc = new ActiveXObject("Msxml2.DOMDocument.4.0");
var root;
var newAtt;
var namedNodeMap;
xmlDoc.async = false;
xmlDoc.load("test.xml");
root = xmlDoc.documentElement;
newAtt = xmlDoc.createAttribute("ID");
namedNodeMap = root.attributes;
namedNodeMap.setNamedItem(newAtt);
for (var i=0; i<namedNodeMap.length; i++) {
  alert(namedNodeMap.item(i).xml);
}

作者: bencalie   发布时间: 2004-04-30

也可以这样:

var xmlDoc = new ActiveXObject("Msxml2.DOMDocument.4.0");
var nodeBook, nodePublishDate;
xmlDoc.async = false;
xmlDoc.load("books.xml");
nodePublishDate = xmlDoc.createAttribute("PublishDate");
nodePublishDate.value = String(Date());
nodeBook = xmlDoc.selectSingleNode("//book");
nodeBook.setAttributeNode(nodePublishDate);
alert(nodeBook.getAttribute("PublishDate"));

这都是微软的 MSXML 4 SDK 上的例子

作者: bencalie   发布时间: 2004-04-30

我好像就是那样写的啊,可惜我现在下班了,51过后我把程序贴上来,你帮我看看,谢谢

作者: 阿辉   发布时间: 2004-04-30