www.vfx110.com收集整理
www.vfx110.com收集整理
在 B/S系统中经常需要在客户端和服务器端之间交互数据,这些数据一般都是在客户端由 Javscript
组织然后发回服务器。对于一些复杂的数据我们一般用 xml 的格式组织。本文将给出 javascript对
xml的一些基本操作。
在 javascript中是利用 MSXml2组件对 xml 进行操作。该组件将 xml 加载到内存中形成一
个树状的数据结构,可以利用 XPath语言对其进行查询。
首先需要创建一个 MSxml2.DOMDocument的对象,如下:
var xmlDoc = new ActiveXObject("MSxml2.DOMDocument");,如果是 ie5以上版本可以这
样:CreateObject(“Microsoft.XMLDom);
创建了 dom对象以后就可以用它加载一个 xml文件或一段 xml字符串,如下:
var strFilePath = “file.xml”;
xmlDoc.load(strFilePath);//加载 xml文件
var strXml = “
”;
xmlDoc.loadXml(strXml);//加载 xml 字符串
当然还可以创建一个空的 DOCDocument,然后向里面填写
内容
财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容
。
首先要创建 xml 的头(),如下:
var = xmlDoc.createProcessingInstruction("xml","version='1.0'");
xmlDoc.appendChild(head);
接下来为 xml创建节点,如下:
var rootNode = xmlDoc.createNode("1","Hello","");
//
参数
转速和进给参数表a氧化沟运行参数高温蒸汽处理医疗废物pid参数自整定算法口腔医院集中消毒供应
1-节点类型;参数 2-节点名称;参数 3-节点的命名空间
为节点创建属性,
var attribut = xmlDoc.createAttribute("Name");//参数-属性名称
Attribute.value = “programer”;//为属性赋值
rootNode.setAttributeNode(attribut);//将属性附加到节点上
为节点添加文本值,
rootNode.value = “Who am I”;
可以直接创建一个文本节点作为当前节点的子节点
rootNode.appendChild(xmlDoc.createTextNode(“Who am I”));
将节点添加到 DOCDocument
xmlDoc.appendChild(rootNode);
当然还可以为一个节点创建子节点,如下
rootNode.appendChild(xnChileNode);
利用 XPath查找节点,也可以查找节点集
Var myNode = xmlDoc.selectSingleNode(“//Hello/Node[@Text=’Who’]”);
//查找目标的根节点的节点名为 Hello,这条语句查询的是 Hello 节点下的节点名为 Node的节点中
Text属性
//等于”Who”的节点
Var myNodeList = xmlDoc.selectNodes(“//Hello/Node);
//查询 Hello节点下的全部 Node节点
www.vfx110.com收集整理
www.vfx110.com收集整理
删除节点,删除时只能删除某一个节点下的子节点,而不能直接删除孙节点。
Var myNode = xmlDoc.selectSingleNode(“//Hello/Node[@Text=’Who’]”);
Var helloNode = xmlDoc.selectSingleNode(“//Hello”);
xmlDoc.removeChild(myNode);//错误
xmlDoc.removeChild(helloNode);//正确
helloNode.removeChild(myNode);//正确
保存结果。可以将 xmlDoc中的内容保存到文件中,也可以直接获取它的 xml字符串,如下:
xmlDoc.save(strFilePath);//保存到文件
alert(xmlDoc.xml);//输出 xml字符串