C#操作XML的完整例子——XmlDocument篇「建议收藏」

C#操作XML的完整例子——XmlDocument篇「建议收藏」这是一个用c#控制台程序下, 用XmlDocument进行XML操作的的例子,包含了查询、增加、修改、删除、保存的基本操作。较完整的描述了一个XML的整个操作流程。适合刚入门.netXML操作的朋友参考和学习。假设有XML文件:books.xmlxml version=”1.0″ encoding=”UTF-8″?>books> book>  name>哈里波特name>  pr

大家好,又见面了,我是你们的朋友全栈君。

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

假设有XML文件:books.xml

C#操作XML的完整例子——XmlDocument篇「建议收藏」
<?
xml version=”1.0″ encoding=”UTF-8″
?>

C#操作XML的完整例子——XmlDocument篇「建议收藏」

<
books
>

C#操作XML的完整例子——XmlDocument篇「建议收藏」 

<
book
>

C#操作XML的完整例子——XmlDocument篇「建议收藏」  

<
name
>
哈里波特
</
name
>

C#操作XML的完整例子——XmlDocument篇「建议收藏」  

<
price
>
10
</
price
>

C#操作XML的完整例子——XmlDocument篇「建议收藏」  

<
memo
>
这是一本很好看的书。
</
memo
>

C#操作XML的完整例子——XmlDocument篇「建议收藏」 

</
book
>

C#操作XML的完整例子——XmlDocument篇「建议收藏」 

<
book 
id
=”B02″
>

C#操作XML的完整例子——XmlDocument篇「建议收藏」  

<
name
>
三国演义
</
name
>

C#操作XML的完整例子——XmlDocument篇「建议收藏」  

<
price
>
10
</
price
>

C#操作XML的完整例子——XmlDocument篇「建议收藏」  

<
memo
>
四大名著之一。
</
memo
>

C#操作XML的完整例子——XmlDocument篇「建议收藏」 

</
book
>

C#操作XML的完整例子——XmlDocument篇「建议收藏」 

<
book 
id
=”B03″
>

C#操作XML的完整例子——XmlDocument篇「建议收藏」  

<
name
>
水浒
</
name
>

C#操作XML的完整例子——XmlDocument篇「建议收藏」  

<
price
>
6
</
price
>

C#操作XML的完整例子——XmlDocument篇「建议收藏」  

<
memo
>
四大名著之一。
</
memo
>

C#操作XML的完整例子——XmlDocument篇「建议收藏」 

</
book
>

C#操作XML的完整例子——XmlDocument篇「建议收藏」 

<
book 
id
=”B04″
>

C#操作XML的完整例子——XmlDocument篇「建议收藏」  

<
name
>
红楼
</
name
>

C#操作XML的完整例子——XmlDocument篇「建议收藏」  

<
price
>
5
</
price
>

C#操作XML的完整例子——XmlDocument篇「建议收藏」  

<
memo
>
四大名著之一。
</
memo
>

C#操作XML的完整例子——XmlDocument篇「建议收藏」 

</
book
>

C#操作XML的完整例子——XmlDocument篇「建议收藏」

</
books
>
  
C#操作XML的完整例子——XmlDocument篇「建议收藏」

 

下面是为Program.cs

C#操作XML的完整例子——XmlDocument篇「建议收藏」
using
 System;
C#操作XML的完整例子——XmlDocument篇「建议收藏」

using
 System.Collections.Generic;
C#操作XML的完整例子——XmlDocument篇「建议收藏」

using
 System.Text;
C#操作XML的完整例子——XmlDocument篇「建议收藏」

using
 System.Xml;
C#操作XML的完整例子——XmlDocument篇「建议收藏」
C#操作XML的完整例子——XmlDocument篇「建议收藏」

namespace
 TestXml
C#操作XML的完整例子——XmlDocument篇「建议收藏」C#操作XML的完整例子——XmlDocument篇「建议收藏」


{

C#操作XML的完整例子——XmlDocument篇「建议收藏」    
class Program
C#操作XML的完整例子——XmlDocument篇「建议收藏」C#操作XML的完整例子——XmlDocument篇「建议收藏」    
{

C#操作XML的完整例子——XmlDocument篇「建议收藏」        
static void Main(string[] args)
C#操作XML的完整例子——XmlDocument篇「建议收藏」C#操作XML的完整例子——XmlDocument篇「建议收藏」        
{

C#操作XML的完整例子——XmlDocument篇「建议收藏」            XmlElement theBook 
= null, theElem = null, root = null;
C#操作XML的完整例子——XmlDocument篇「建议收藏」            XmlDocument xmldoc 
= new XmlDocument();
C#操作XML的完整例子——XmlDocument篇「建议收藏」            
try
C#操作XML的完整例子——XmlDocument篇「建议收藏」C#操作XML的完整例子——XmlDocument篇「建议收藏」            
{

C#操作XML的完整例子——XmlDocument篇「建议收藏」                xmldoc.Load(
Books.xml);
C#操作XML的完整例子——XmlDocument篇「建议收藏」                root 
= xmldoc.DocumentElement;
C#操作XML的完整例子——XmlDocument篇「建议收藏」
C#操作XML的完整例子——XmlDocument篇「建议收藏」                
//—  新建一本书开始 —-
C#操作XML的完整例子——XmlDocument篇「建议收藏」
                theBook = xmldoc.CreateElement(book);
C#操作XML的完整例子——XmlDocument篇「建议收藏」                theElem 
= xmldoc.CreateElement(name);
C#操作XML的完整例子——XmlDocument篇「建议收藏」                theElem.InnerText 
= 新书;
C#操作XML的完整例子——XmlDocument篇「建议收藏」                theBook.AppendChild(theElem);
C#操作XML的完整例子——XmlDocument篇「建议收藏」
C#操作XML的完整例子——XmlDocument篇「建议收藏」                theElem 
= xmldoc.CreateElement(price);
C#操作XML的完整例子——XmlDocument篇「建议收藏」                theElem.InnerText 
= 20;
C#操作XML的完整例子——XmlDocument篇「建议收藏」                theBook.AppendChild(theElem);
C#操作XML的完整例子——XmlDocument篇「建议收藏」
C#操作XML的完整例子——XmlDocument篇「建议收藏」                theElem 
= xmldoc.CreateElement(memo);
C#操作XML的完整例子——XmlDocument篇「建议收藏」                theElem.InnerText 
= 新书更好看。;
C#操作XML的完整例子——XmlDocument篇「建议收藏」                theBook.AppendChild(theElem);
C#操作XML的完整例子——XmlDocument篇「建议收藏」                root.AppendChild(theBook);
C#操作XML的完整例子——XmlDocument篇「建议收藏」                Console.Out.WriteLine(
—  新建一本书开始 —-);
C#操作XML的完整例子——XmlDocument篇「建议收藏」                Console.Out.WriteLine(root.OuterXml);
C#操作XML的完整例子——XmlDocument篇「建议收藏」                
//—  新建一本书完成 —-
C#操作XML的完整例子——XmlDocument篇「建议收藏」
C#操作XML的完整例子——XmlDocument篇「建议收藏」                
//—  下面对《哈里波特》做一些修改。 —-
C#操作XML的完整例子——XmlDocument篇「建议收藏」                
//—  查询找《哈里波特》—-
C#操作XML的完整例子——XmlDocument篇「建议收藏」
                theBook = (XmlElement)root.SelectSingleNode(/books/book[name=’哈里波特’]);
C#操作XML的完整例子——XmlDocument篇「建议收藏」                Console.Out.WriteLine(
—  查找《哈里波特》 —-);
C#操作XML的完整例子——XmlDocument篇「建议收藏」                Console.Out.WriteLine(theBook.OuterXml);
C#操作XML的完整例子——XmlDocument篇「建议收藏」                
//—  此时修改这本书的价格 —–
C#操作XML的完整例子——XmlDocument篇「建议收藏」
                theBook.GetElementsByTagName(price).Item(0).InnerText = 15;//getElementsByTagName返回的是NodeList,所以要跟上item(0)。另外,GetElementsByTagName(“price”)相当于SelectNodes(“.//price”)。
C#操作XML的完整例子——XmlDocument篇「建议收藏」
                Console.Out.WriteLine(—  此时修改这本书的价格 —-);
C#操作XML的完整例子——XmlDocument篇「建议收藏」                Console.Out.WriteLine(theBook.OuterXml);
C#操作XML的完整例子——XmlDocument篇「建议收藏」                
//—  另外还想加一个属性id,值为B01 —-
C#操作XML的完整例子——XmlDocument篇「建议收藏」
                theBook.SetAttribute(idB01);
C#操作XML的完整例子——XmlDocument篇「建议收藏」                Console.Out.WriteLine(
—  另外还想加一个属性id,值为B01 —-);
C#操作XML的完整例子——XmlDocument篇「建议收藏」                Console.Out.WriteLine(theBook.OuterXml);
C#操作XML的完整例子——XmlDocument篇「建议收藏」                
//—  对《哈里波特》修改完成。 —-
C#操作XML的完整例子——XmlDocument篇「建议收藏」
C#操作XML的完整例子——XmlDocument篇「建议收藏」                
//—  再将所有价格低于10的书删除  —-
C#操作XML的完整例子——XmlDocument篇「建议收藏」
                theBook = (XmlElement)root.SelectSingleNode(/books/book[@id=’B02′]);
C#操作XML的完整例子——XmlDocument篇「建议收藏」                Console.Out.WriteLine(
—  要用id属性删除《三国演义》这本书 —-);
C#操作XML的完整例子——XmlDocument篇「建议收藏」                Console.Out.WriteLine(theBook.OuterXml);
C#操作XML的完整例子——XmlDocument篇「建议收藏」                theBook.ParentNode.RemoveChild(theBook);
C#操作XML的完整例子——XmlDocument篇「建议收藏」                Console.Out.WriteLine(
—  删除后的XML —-);
C#操作XML的完整例子——XmlDocument篇「建议收藏」                Console.Out.WriteLine(xmldoc.OuterXml);
C#操作XML的完整例子——XmlDocument篇「建议收藏」
C#操作XML的完整例子——XmlDocument篇「建议收藏」                
//—  再将所有价格低于10的书删除  —-
C#操作XML的完整例子——XmlDocument篇「建议收藏」
                XmlNodeList someBooks = root.SelectNodes(/books/book[price<10]);
C#操作XML的完整例子——XmlDocument篇「建议收藏」                Console.Out.WriteLine(
—  再将所有价格低于10的书删除  —);
C#操作XML的完整例子——XmlDocument篇「建议收藏」                Console.Out.WriteLine(
—  符合条件的书有  + someBooks.Count + 本。  —);
C#操作XML的完整例子——XmlDocument篇「建议收藏」
C#操作XML的完整例子——XmlDocument篇「建议收藏」                
for (int i = 0; i < someBooks.Count; i++)
C#操作XML的完整例子——XmlDocument篇「建议收藏」C#操作XML的完整例子——XmlDocument篇「建议收藏」                
{

C#操作XML的完整例子——XmlDocument篇「建议收藏」                    someBooks.Item(i).ParentNode.RemoveChild(someBooks.Item(i));
C#操作XML的完整例子——XmlDocument篇「建议收藏」                }

C#操作XML的完整例子——XmlDocument篇「建议收藏」                Console.Out.WriteLine(
—  删除后的XML —-);
C#操作XML的完整例子——XmlDocument篇「建议收藏」                Console.Out.WriteLine(xmldoc.OuterXml);
C#操作XML的完整例子——XmlDocument篇「建议收藏」
C#操作XML的完整例子——XmlDocument篇「建议收藏」                xmldoc.Save(
books.xml);//保存到books.xml
C#操作XML的完整例子——XmlDocument篇「建议收藏」

C#操作XML的完整例子——XmlDocument篇「建议收藏」                Console.In.Read();
C#操作XML的完整例子——XmlDocument篇「建议收藏」            }

C#操作XML的完整例子——XmlDocument篇「建议收藏」            
catch (Exception e)
C#操作XML的完整例子——XmlDocument篇「建议收藏」C#操作XML的完整例子——XmlDocument篇「建议收藏」            
{

C#操作XML的完整例子——XmlDocument篇「建议收藏」                Console.Out.WriteLine(e.Message);
C#操作XML的完整例子——XmlDocument篇「建议收藏」            }

C#操作XML的完整例子——XmlDocument篇「建议收藏」        }

C#操作XML的完整例子——XmlDocument篇「建议收藏」    }

C#操作XML的完整例子——XmlDocument篇「建议收藏」}


C#操作XML的完整例子——XmlDocument篇「建议收藏」

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/150730.html原文链接:https://javaforall.net

(0)
上一篇 2022年6月19日 下午10:00
下一篇 2022年6月19日 下午10:16


相关推荐

  • html布局_css三栏布局

    html布局_css三栏布局编写程序实现如下图效果:实现代码如下:

    2022年8月3日
    8
  • HDU1181【有向图的传递闭包】

    HDU1181【有向图的传递闭包】

    2021年8月25日
    61
  • python treemap_使用TreeMap

    python treemap_使用TreeMap我们已经知道 HashMap 是一种以空间换时间的映射表 它的实现原理决定了内部的 Key 是无序的 即遍历 HashMap 的 Key 时 其顺序是不可预测的 但每个 Key 都会遍历一次且仅遍历一次 还有一种 Map 它在内部会对 Key 进行排序 这种 Map 就是 SortedMap 注意到 SortedMap 是接口 它的实现类是 TreeMap Map

    2026年3月16日
    3
  • 解决IE浏览器的Automation 服务器不能创建对象的问题

    解决IE浏览器的Automation 服务器不能创建对象的问题这两天在部署项目的时候 我遇到使用 IE 浏览器报错的问题 导致我无法正常预览效果 下面是我在使用 IE 浏览器上传文件的时候 遇到了一个报错 Automation 服务器不能创建对象 的问题 分析的得出的原因是 有些网站的脚本处理和相关认证不是很规范 导致我们当前浏览器的安全设置阻止了某些脚本程序的执行 因此就会报上面的错误 这个问题我通过更改 IE 浏览器的安全设置来解决 很简单的设置 继续向下看吧 图片

    2026年3月17日
    2
  • VS2015 MFCActiveX使用对话框调用另外一个ActiveX控件

    VS2015 MFCActiveX使用对话框调用另外一个ActiveX控件MFCActiveX 控件的用途广泛 生成的文件就是在网页编程里使用比较多的 OCX 控件 在网页的 object 标签里可以调用 OCX 控件 那么比如我想制作一个 OCX 控件 在控件里加载一个网页这种该如何实现了 熟悉 MFC 的应该知道 MFC 里可以直接使用 webbrowser 这个 ActiveX 控件 使用 webbrowser 可以很方便的加载网页 下面讲解该如何实现这一功能 首先使用 vs2015 新建一个 MFC

    2026年3月16日
    2
  • windows11修改用户名_win10家庭中文版怎么更改用户名

    windows11修改用户名_win10家庭中文版怎么更改用户名按:新买的电脑一般预装Windows11系统(家庭与学生版),新电脑初次开机使用微软邮箱账号登录,则系统将用户名自动设置成邮箱前几位。我的用户名便是一串数字【231xx】(qq邮箱前5位),看着很不舒服,查了很多方法并最终修改成功!!记录一下修改过程,希望能帮到同样想改用户名的人。首先,强调一点,修改失败可能导致很严重的问题,电脑如有重要资料,务必请提前备份!!!一什么情况需要修改用户名最主要的情况就是初次使用设置了中文用户名。很多软件不支持路径包含中文字……………..

    2022年10月14日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号