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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java中的io流知识总结_java数据流

    java中的io流知识总结_java数据流无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。内容概要JavaIO流的设计不得不让人拍案叫绝,佩服设计者鬼斧天工的手法。如果你是Java初学者,我敢保证第一次接触Java的IO类,一定会”狂晕!”,倒不是因为它有多么难学而是太多,而且及其让人有种“不识庐山…

    2022年10月20日
    3
  • Oracle存储过程及参数理解

    Oracle存储过程及参数理解一、过程(存储过程)    过程是一个能执行某个特定操作的子程序。使用CREATEORREPLACE创建或者替换保存在数据库中的一个子程序。示例1:声明存储过程,该过程返回dept表行数DECLARE  PROCEDUREgetDeptCount  AS    deptCountINT;  BEGIN    SELECTCOUNT(*)INTOdeptCountFROMDEPT…

    2022年7月17日
    25
  • Ubuntu20.04安装pycharm_ubuntu怎么安装软件

    Ubuntu20.04安装pycharm_ubuntu怎么安装软件方法一:下载Pycharm与安装下载地址:https://www.jetbrains.com/pycharm/Pycharm专业版和社区版对大多数人来说差别不大,区别如下:我们下载Linux的社区版:右击安装包-&gt;Extracthere生成一个Pycharm的文件夹cd到该文件夹的bin下cdDownloads/pycharm-community-2018.1.4/bin(或进文…

    2022年8月29日
    4
  • 5G切片是否会让运营商变成“缝补匠”?运营商专家这样解读「建议收藏」

    5G切片是否会让运营商变成“缝补匠”?运营商专家这样解读「建议收藏」话题导火线:什么是网络切片?这个新概念早已随着5G的各类报道频频见于媒体。准确地说,网络切片技术可以让运营商在一个硬件基础设施中切分出多个虚拟的端到端网络,每个网络切片在设备、接入网、传输网以及核心网方面实现逻辑隔离,适配各种类型服务并满足用户的不同需求。但日前国际上一位业内专家提出,5G切片技术实现起来远没有那么容易,“比想象的要更复杂,更凌乱”,…

    2022年10月2日
    1
  • 安装cocoapods遇到error: RPC failed; curl 56 SSLRead() return error -36问题

    安装cocoapods遇到error: RPC failed; curl 56 SSLRead() return error -36问题

    2022年2月23日
    46
  • Java 并发:volatile 关键字解析「建议收藏」

    Java 并发:volatile 关键字解析「建议收藏」在Java并发编程中,要想使并发程序能够正确地执行必须要保证三条原则:原子性、可见性和有序性。只要有一条原则没有被保证,就有可能导致线程安全性问题。volatile关键字被用来保证可见性,即保证共享变量的内存可见性以解决缓存一致性问题,同时其还会禁止进行指令重排序。volatile关键字主要用于使其他线程及时感知共享变量的修改并保证使用变量最新值,例如,用于修饰状态标记量和Double-Check(双重检查)中。

    2022年7月11日
    20

发表回复

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

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