第二篇 -- C#中对XML操作

一、XML文件操作中与.Net中对应的类

  微软的.NET框架在System.xml命名空间提供了一系列的类用于Dom的实现。

  以下给出XML文档的组成部分对应.NET中的类:

XML文档组成部分 对应.net中的类
处理指令 XmlProcessingInstruction
专指元素节点 XmlElement
属性 XmlAttribute
文本节点 XmlText
节点 XmlNode
文档 XmlDocument
XmlWriter 对象的特性 XmlWriterSettings
注释 XmlComment

二、Xml文档各种处理类

  1、XmlNode节点类:包括元素节点、文本节点、属性节点等等。

  这个类可以说是.Net Xml操作的根基,大部分Xml操作类都继承自此类。很多类都重写了该类的方法等。

  这个类成员属性,方法都很多,但是都是非常简单的,无非是对Xml文档的添加,修改,查询,保存等操作。因此,直接通过看MSDN就足够:

  XmlNode:http://msdn.microsoft.com/zh-cn/library/system.xml.xmlnode_members(v=vs.80).aspx

  另外,基本上,所有类都继承于此类,都大同小异。

  2、XmlElement继承了XmlNode,专指元素节点。

  XmlElement的特点:

  • XmlElement继承自XmlLinkedNode又继承自XmlNode类。
  • XmlElement专指元素节点,Xml节点有多种类型:属性节点、注释节点、文本节点、元素节点等。也就是XmlNode是这多种节点的统称。
  • XmlElement是具现类,可以直接实例化,而XmlNode是抽象类,必须通过XmlDocument的某些方法返回。

  本处仅仅写个最简单的示例:

  示例Xml文档:

<?xml version="1.0" encoding="gb2312" ?>
<Article>
  <author age="30">张三</author>
  <length>12000</length>
  <price>42</price>
</Article>

  简单示例:

复制代码
复制代码
        static void Main(string[] args)
        {
            //XmlDocument
            XmlDocument doc = new XmlDocument();
            doc.Load(@"D:\Articles.xml");

            //XmlNode出场
            XmlNode node = doc.SelectSingleNode("Article");
            string author = node.FirstChild.InnerText;
            Console.WriteLine(author);  //输出 张三

            //XmlElement出场
            XmlElement element = doc.DocumentElement;   //根元素节点
            Console.WriteLine(element.Name);

            //XmlAttribute出场
            XmlAttribute attribute = element.FirstChild.Attributes[0];  //输出30
            Console.WriteLine(attribute.Value);

            //XmlComment出场
            XmlComment comment = doc.CreateComment("这是字数!");
            element.PrependChild(comment);

            doc.Save(@"D:\123123.xml");

            Console.ReadKey();
        }
复制代码
复制代码

 

 

出处:https://www.cnblogs.com/kissdodog/archive/2013/02/24/2924227.html

posted on   jack_Meng  阅读(1294)  评论(0编辑  收藏  举报

编辑推荐:
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· NetPad:一个.NET开源、跨平台的C#编辑器
历史上的今天:
2018-09-20 让使用SQLite的.NET应用自适应32位/64位系统
2016-09-20 C#中如何获取一个二维数组的两维长度,即行数和列数?以及多维数组各个维度的长度?
2015-09-20 HTML符号代码速查表
2015-09-20 如何在VPC中安装Ubuntu
2015-09-20 Linux各个版本资源下载

导航

< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8
点击右上角即可分享
微信分享提示

喜欢请打赏

扫描二维码打赏

支付宝打赏

主题色彩