用 XmlDocument 类修改和保存 XML

原创 2004年09月28日 14:13:00

用 XmlDocument 类修改和保存 XML

概要
此示例演示如何使用 XmlDocument 类更新和保存 XML。

要求

下表概括了推荐使用的硬件、软件、网络架构以及所需的 Service Pack:
  • Microsoft Windows 2000 Professional、Windows 2000 Server、Windows 2000 Advanced Server 或 Windows NT 4.0 Server
  • Microsoft Visual Studio .NET
本文假定您熟悉下列主题:
  • XML 术语
  • 创建和读取 XML 文件
  • 文档对象模型 (DOM)

如何使用 XmlDocument 类保存 XML

  1. 在 Visual Studio .NET 中新建 Visual Basic 或 C# 控制台应用程序。
  2. 确保该项目引用 System.Xml 名称空间。
  3. Xml 名称空间上使用 Imports 语句,这样,以后就不需要在代码中限定 XmlTextReader 声明了。Imports 语句必须位于任何其他声明之前。 Visual Basic .NET 代码
    Imports System.Xml
    C# 代码
    using System.Xml;
  4. 新建 XmlDocument 类,然后使用 Load 方法加载它。

    XmlDocument 类表示 XML 文档并且使用 Load 方法从文件、流或 XmlReader 加载文档。

    Visual Basic .NET 代码
    Dim myXmlDocument as XmlDocument = new XmlDocument()
    myXmlDocument.Load ("books.xml"))
    C# 代码
    XmlDocument myXmlDocument = new XmlDocument();
    myXmlDocument.Load ("books.xml");
    请注意,尽管在此处使用了 Books.xml 文件,但是您可创建自己的 Books.xml 文件。Books.xml 示例文件还包括在 Visual Studio .NET 和 .NET 框架软件开发工具包 (SDK) 中。
  5. XmlNode 对象提供了操作节点的方法和属性。 使用 XmlDocument DocumentElement 属性返回的 XmlNode 对象操作 XML 节点。 Visual Basic .NET 代码
    Dim node as XmlNode
    node = myXmlDocument.DocumentElement
    C# 代码
    XmlNode node;
    node = myXmlDocument.DocumentElement;
  6. 迭代文档元素的子元素,并查找所有“price”节点。 对 Node 对象的 ChildNodes 属性使用 For Each 循环结构,查找所有 Name 属性等于“price”的节点。 将书籍的价格加倍。 Visual Basic .NET 代码
    Dim node2 As XmlNode 'Used for internal loop.
    Dim nodePriceText As XmlNode
    For Each node In node.ChildNodes
       'Find the price child node.
       For Each node2 In node.ChildNodes
          If node2.Name = "price" Then
             '                    nodePriceText = node2.InnerText
             Dim price As Decimal
             price = System.Decimal.Parse(node2.InnerText)
    
             ' Double the price.
             Dim newprice As String
             newprice = CType(price * 2, Decimal).ToString("#.00")
             Console.WriteLine("Old Price = " & node2.InnerText & Strings.Chr(9) & "New price = " & newprice)
             node2.InnerText = newprice
    End If
    Next
    Next
    C# 代码
    foreach(XmlNode node1 in node.ChildNodes)
       foreach (XmlNode node2 in node1.ChildNodes)
          if (node2.Name == "price")
             {
                Decimal price = Decimal.Parse(node2.InnerText);
                // Increase all the book prices by 20%
                String newprice = ((Decimal)price*(new Decimal(1.20))).ToString("#.00");
                Console.WriteLine("Old Price = " + node2.InnerText + "/tNew price = " + newprice);
                node2.InnerText = newprice;
              }
  7. 使用 XmlDocument 类的 Save 方法将修改后的 XML 保存到名为 InflatedPriceBooks.xml 的新文件中。

    可以使用 Save 方法将 XML 数据保存到文件、流和 XmlWriters 中。 Visual Basic .NET 代码
    myXmlDocument.Save("InflatedPriceBooks.xml"))
    C# 代码
    myXmlDocument.Save("InflatedPriceBooks.xml");
  8. 生成并运行您的项目

C#读取XML文件数据和把数据保存至xml的方法

原文在百度知道中,来源于多个网友。 新浪微博:http://blog.sina.com.cn/s/blog_ad7fd0f4010180md.html (一) 保存 var xml =XEle...
  • zhangyatoua
  • zhangyatoua
  • 2015年09月29日 14:44
  • 1211

C# 写入XML文档三种方法详细介绍

C# 写入XML文档三种方法详细介绍
  • hualele
  • hualele
  • 2016年12月27日 11:24
  • 2730

C#开发学习笔记:xml文件的写入操作

C#开发学习笔记:xml文件的写入操作
  • JustWantToFly
  • JustWantToFly
  • 2017年01月03日 19:05
  • 891

C#写xml文件并保存

using System; using System.Xml; namespace ConsoleApplication3 { class Program { static void M...
  • G1036583997
  • G1036583997
  • 2014年10月28日 16:51
  • 5717

C# 保存和读取XML配置文件

  • 2008年12月20日 13:50
  • 15KB
  • 下载

C#中对XML文件进行新建、查找、插入、修改、保存等操作

内容包括:新建XML文件;在XML文件中查找单个节点或多个节点;并在该节点下添加子节点;同时为添加的子节点赋值 (例一);得到某个节点下的符合条件的所有子节点,并对这些子节点进行操作(例二);并介绍了...
  • jiliqiang1986
  • jiliqiang1986
  • 2016年07月26日 14:07
  • 1059

C#中利用XML文件保存数据

  • 2017年10月25日 21:37
  • 2KB
  • 下载

C# 写XML格式的字符串 (是否保存到硬盘)

一、XML写入到硬盘 //文件路径 string fileName = "D:\\1.xml"; //编码方式 XmlText...
  • u013816709
  • u013816709
  • 2015年12月31日 14:22
  • 904

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

这是一个用c#控制台程序下,  用XmlDocument 进行XML操作的的例子,包含了查询、增加、修改、删除、保存的基本操作。较完整的描述了一个XML的整个操作流程。适合刚入门.net XML操作的...
  • cds27
  • cds27
  • 2008年04月18日 17:18
  • 74432

C# XMLDocument解析XML归纳

C# XMLDocument解析XML归纳
  • myfwjy
  • myfwjy
  • 2016年09月23日 16:23
  • 1135
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:用 XmlDocument 类修改和保存 XML
举报原因:
原因补充:

(最多只允许输入30个字)