许多新手对MSXML如何操作XML不太了解。我下面把一些常用的操作整理成一个例子,供大家参考。

假设XML文件名:test.xml

<?xml version="1.0" encoding="UTF-8"?>
<books>
 <book>
  <name>哈里波特</name>
  <price>10</price>
  <memo>这是一本很好看的书。</memo>
 </book>
 <book id="B02">
  <name>三国演义</name>
  <price>10</price>
  <memo>四大名著之一。</memo>
 </book>
 <book id="B03">
  <name>水浒</name>
  <price>6</price>
  <memo>四大名著之一。</memo>
 </book>
 <book id="B04">
  <name>红楼</name>
  <price>5</price>
  <memo>四大名著之一。</memo>
 </book>
</books> 

下面是JS操作XML的代码:

<script language="javascript">
var theBook, theElem, root;
var xmldoc=new ActiveXObject("MSXML2.DOMDOCUMENT.3.0");
xmldoc.async=false;
xmldoc.load("test.xml");
root=xmldoc.documentElement;
alert(xmldoc.xml)
//---  新建一本书开始 ----
theBook=xmldoc.createElement("book");
theElem=xmldoc.createElement("name");//创建元素name
theElem.text="新书";//设置name的文本值为"新书"
theBook.appendChild(theElem);//把name添加到theBook下面

theElem=xmldoc.createElement("price");
theElem.text="20";
theBook.appendChild(theElem);

theElem=xmldoc.createElement("memo");
theElem.text="新书的更好看。";
theBook.appendChild(theElem);
root.appendChild(theBook);
alert(xmldoc.xml);
//---  新建一本书完成 ----

//---  下面对《哈里波特》做一些修改。 ----
//---  查询找《哈里波特》----
theBook=root.selectSingleNode("/books/book[name='哈里波特']");
alert(theBook.xml);
//---  此时修改这本书的价格 -----
theBook.childNodes[1].text="15";//price是第二个元素,即childNodes[1]
alert(theBook.xml);
//---  另外还想加一个属性id,值为B01 ----
theBook.setAttribute("id", "B01");
alert(theBook.xml);
//---  对《哈里波特》修改完成。 ----

//---  要用id属性删除《三国演义》这本书  ----
theBook=root.selectSingleNode("/books/book[@id='B02']");
alert(theBook.xml);
theBook.parentNode.removeChild(theBook);
alert(xmldoc.xml);

//---  再将所有价格低于10的书删除  ----
var someBooks=root.selectNodes("/books/book[price<10]");
someBooks.removeAll();
alert(xmldoc.xml);

//xmldoc.save("test3.xml"); //保存,受权限限制,一般只在ASP中使用。
</script>

MSXML操作XML的完整例子相关推荐

  1. C++ 操作XML的完整例子——MSXML篇

    写本文的目的是为了方便大家了解C++ MSXML操作方法. 当然,C++中对MSXML的调用有多种,本文采用的方法是完全参照MSXML SDK提供的文档进行操作. 如果有什么错误,欢迎指正. 代码框架 ...

  2. (转)C#操作XML的完整例子——XmlDocument篇

    这是一个用c#控制台程序下, 用XmlDocument 进行XML操作的的例子,包含了查询.增加.修改.删除.保存的基本操作.较完整的描述了一个XML的整个操作流程.适合刚入门.net XML操作的朋 ...

  3. C#操作XML的完整例子——XmlDocument篇

    这是一个用c#控制台程序下,  用XmlDocument 进行XML操作的的例子,包含了查询.增加.修改.删除.保存的基本操作.较完整的描述了一个XML的整个操作流程.适合刚入门.net XML操作的 ...

  4. C#操作xml完整类文件

    C#操作xml完整类文件 xml_oper.cs using ...System; using System.Data; using System.Web; using System.Xml; /** ...

  5. VC++中操作XML(MFC、SDK)

    VC++中操作XML(MFC.SDK) XML在Win32程序方面应该没有在Web方面应用得多,很多Win32程序也只是用XML来存存配置信息而已,而且没有足够的好处的话还不如用ini.VC++里操作 ...

  6. jquery中ajax完整例子get,jq的ajax方法,jquery中ajax完整例子

    jq的ajax方法,jquery中ajax完整例子 相较与js异步对象的繁琐,jq的ajax对象结构更加清晰 一:ajax对象简述 ajax(Asynchronous JavaScript and X ...

  7. java 解析/操作 xml 几种常用方式 xml的增加/删除/修改

    java 解析/操作 xml 几种常用方式 xml的增加/删除/修改 首先,我们先介绍几种常用的xml解析器. 1. 介绍 1)DOM(JAXP Crimson解析器) DOM是用与平台和语言无关的方 ...

  8. 史上最最靠谱,又双叒叒(ruò,zhuó)简单的基于MSXML的XML解析指南-C++

    文章目录 史上最最靠谱,又双叒叒简单的基于MSXML的XML解析指南-C++ 流程设计 xml信息有哪几种读取形式(xml文件或wchar) 如何选取节点,and取节点属性有哪些方法? IXMLDOM ...

  9. 使用Dom4j操作XML数据

    --------------siwuxie095 dom4j 是一个非常优秀的 Java XML 的 API, 用来读写 XML 文件 和操作 XML 数据 特点:性能优异.功能强大.极端易用 dom ...

最新文章

  1. Codeforces 1300E. Water Balance[单调栈]
  2. 如何妙笔勾檀妆:像素级语义理解
  3. 013_JavaScript函数
  4. windows系统命令行下常用命令收集
  5. 用3ds导入spk文件好小坐标多_2020东莞长安贴片厂代工代料哪家好-鸿鑫辉
  6. Linux复制文件到usb设备中,使用shell脚本实现USB设备的加载与文件复制
  7. Qt文档阅读笔记-easingCurve:QEasingCurve官方解析及实例
  8. deepin下深度终端使用ssh-agent(xshell中的xagent功能)
  9. 资源丨用PyTorch实现Mask R-CNN
  10. 新举措!ACL系列会议引入滚动审稿机制
  11. 有放回采样和无放回采样
  12. 优先部署EDI系统把握信息传输的主动权
  13. Windows和Linux平台上实现Word转PDF
  14. mysql 计算15位身份证_15位身份证补全为18位身份证算法
  15. Windows Socket编程基础
  16. excel相乘再相加_excel现乘积再求和如何自动生成
  17. 出差沈阳记之初来乍到
  18. 什么软件适合团队协作?团队协作工具排行
  19. 基于STM32的万能红外遥控器
  20. Datawhale组队学习 Task05:字符串(2天)

热门文章

  1. 内存不能为read修复方法
  2. BUUCTF reverse题目 内涵的软件
  3. VBA中引用单元格与区域
  4. 【渝粤题库】国家开放大学2021春3937人文英语2题目
  5. 我采访了同事,让他掏出了每天都会浏览的干货网站...这几个网站也太牛了吧!
  6. 调用系统相机录像,压缩保存到相册(附仿微信视频录制demo)
  7. 一个神奇的开源项目:让照片快速 3D 化!
  8. 今日睡眠质量记录74分
  9. 2018年9月12日
  10. 小程序登录授权code