传统XmlDocument操作

需要引用的命名空间: using System.Xml;

常用的类:XmlDocument、XmlElement、XmlNode、XmlNodeList

一、使用XmlDocument创建xml

 //创建XmlDocument对象
            XmlDocument xmlDoc = new XmlDocument();
            //建立Xml的定义声明
            XmlDeclaration dec = xmlDoc.CreateXmlDeclaration("1.0", "GB2312", null);
            xmlDoc.AppendChild(dec);
            //创建根节点
            XmlElement root = xmlDoc.CreateElement("Books");
            xmlDoc.AppendChild(root);

            XmlNode book = xmlDoc.CreateElement("Book");
            XmlElement title = xmlDoc.CreateElement("Title");
            title.InnerText = "SQL Server";
            book.AppendChild(title);
            XmlElement isbn = xmlDoc.CreateElement("ISBN");
            isbn.InnerText = "444444";
            book.AppendChild(isbn);
            XmlElement author = xmlDoc.CreateElement("Author");
            author.InnerText = "jia";
            book.AppendChild(author);
            XmlElement price = xmlDoc.CreateElement("Price");
            price.InnerText = "120";
            price.SetAttribute("Unit", "_fad");
            book.AppendChild(price);

            XmlNode book2 = xmlDoc.CreateElement("Book");
            XmlElement title2 = xmlDoc.CreateElement("Title");
            title2.InnerText = "C#高级编程";
            book2.AppendChild(title2);
            XmlElement isbn2 = xmlDoc.CreateElement("ISBN");
            isbn2.InnerText = "88888";
            book2.AppendChild(isbn2);
            XmlElement author2 = xmlDoc.CreateElement("Author");
            author2.InnerText = "Longsi";
            book2.AppendChild(author2);
            XmlElement price2 = xmlDoc.CreateElement("Price");
            price2.InnerText = "1200";
            price2.SetAttribute("Unit", "abc");
            book2.AppendChild(price2);

            XmlElement title3 = xmlDoc.CreateElement("Title");
            title3.InnerText = "我是最外面的Title";
            title3.SetAttribute("name", "lxf");

            root.AppendChild(book);
            root.AppendChild(book2);
            root.AppendChild(title3);
            xmlDoc.Save(@"F:\Books.xml");
            Console.WriteLine("xml文档创建成功");

结果:

<?xml version="1.0" encoding="GB2312"?>
<Books>
<Book>
<Title>SQL Server</Title>
<ISBN>444444</ISBN>
<Author>jia</Author>
<Price Unit="_fad">120</Price>
</Book>
<Book>
<Title>C#高级编程</Title>
<ISBN>88888</ISBN>
<Author>Longsi</Author>
<Price Unit="abc">1200</Price>
</Book>
<Title name="lxf">我是最外面的Title</Title>
</Books>

二、使用XmlDocument 查询xml

主要方法SelectNodes(xPath字符串)

//查询所有Title节点
XmlNodeList aa = xmlDoc.SelectNodes("//Title");

查询具有name属性的Title节点

XmlNodeList aa = xmlDoc.SelectNodes("//Title[@name]");

foreach (XmlNode item in aa)
{
Console.WriteLine(item.InnerText);
}

总结:传统的XmlDocument在创建xml上没有使用Ling to Xml简介

但在查询操作上,结合使用xPath,还是很容易很强大的。

xPath用法详见http://www.cnblogs.com/lxf1117/p/3936239.html

时间: 2024-10-29 19:05:59

传统XmlDocument操作的相关文章

利用XmlDocument操作XML文件

利用XmlDocument可以方便的操作XML文件. 1.操作XML文件基本方法 (1)添加对System.Xml的引用,并使用using语句添加引用: (2)假设要读取的XML文件如下: <?xml version="1.0" encoding="utf-8"?> <Students> <Student> <Name>张靓靓</Name> <Age>20</Age> <Hob

C# XmlDocument操作XML

XML:Extensible Markup Language(可扩展标记语言)的缩写,是用来定义其它语言的一种元语言,其前身是SGML(Standard Generalized Markup Language,标准通用标记语言).它没有标签集(tag set),也没有语法规则(grammatical rule),但是它有句法规则(syntax rule).任何XML文档对任何类型的应用以及正确的解析都必须是良构的(well-formed),即每一个打开的标签都必须有匹配的结束标签,不得含有次序颠

变电站操作票手机版

操作票对于从事电力行业变电运维岗位的人来说并不陌生,但是对大部分人来说可能是从未听说.操作票是保证电力行业安全生产的重要技术手段.目前的操作票的基本流程是首先在电脑上编辑操作票,然后到了工作现场打印出纸质的正式操作票.整个流程其实是存在许多痛点.痛点一,工作现场的网络故障或者计算机故障或者打印机故障或者缺纸等等原因导致操作票无法打印出来,致使工作延误,效率降低.痛点二,在户外的工作现场,由于天气的原因,比如下雨刮大风,纸质的操作票在恶劣天气面前往往不堪一击,变成了一张废纸.痛点三,纸质操作票在夜

PHP 设计模式 笔记与总结(4)PHP 链式操作的实现

PHP 链式操作的实现 $db->where()->limit()->order(); 在 Common 下创建 Database.php. 链式操作最核心的地方在于:在方法的最后 return $this; Database.php: <?php namespace Common; class Database{ function where($where){ return $this; //链式方法最核心的地方在于:在每一个方法之后 return $this } functio

js传统方式取数字

为啥要用正则?!我最开始也不是很理解,说实话也懒得学,但看看下面的if else 估计各位也是够了,虽然正则难学,难记总归类似这种操作应该是用正则去做的.下面我用传统字符串操作做一个取数字的函数. //函数findNum的任务 是找到字符串"1212 21 009 090 00"并打印出来 var str="1212dasdad21jif009fajf090adv00"; function findNum(str){ var arr=[];//空数组一会儿存放变量:

C#操作XML文档总结

包括XMLWriter写入,XmlReader读取,XmlDocument操作,DataSet.ReadXML(),DataSet.WriteXML(),LINQ查询XML 1.XMLWriter写入XML数据 结果会覆盖原文档. c#_code: //使用XMLWriter写XML数据 XmlWriterSettings settings = new XmlWriterSettings(); settings.Indent = true; //缩进 //settings.NewLineOnAt

自动化运维工具--Ansible(安装部署、模块简介与操作)

一.Ansible概述 互联网的快速发展导致产品更新换代速度加快,按照传统维护操作使得工作效率低下,自动化运维以尽可能安全高效的完成工作为目的,实现代替传统工作方式. 自动化运维工具划分为两类: 一是需要使用代理工具的,也就是基于agent程序来实现管理功能,例如puppet.func.zabbix等 二是不需要代理配置工具的,可以直接基于SSH服务来完成管理功能,如ansible,fabric等. 自动化运维工具比较: 工具 开发语言 结构 配置文件格式 运行任务 Ansible Python

Centos7 squid传统代理

Centos7 squid传统代理 操作环境:squid代理服务器:192.168.80.100web网站 :192.168.80.101 1.安装编译环境yum install gcc gcc-c++ make -y 2.安装插件yum install perl-devel -y 3.安装wget下载工具yum install wget -y 4.下载squidwget http://www.squid-cache.org/Versions/v3/3.5/squid-3.5.21.tar.gz

Android数据存储引擎---SQLite数据库

目标:是否可以在PC端桌面上使用SQLite数据库制作一个财务文件? 目录: 来源: 实践: 总结和比较: SQLite数据简介 是什么,内部结构是怎样的,数据库和表的关系是什么 有什么用 常用的操作是什么 SQLite数据库使用 增 删 改 查 SQLite数据库实践上的优化措施 对于Android平台来说,系统内置了丰富的API来供开发人员操作SQLite,使我们轻松完成对数据的存取. 步骤1,熟悉创建数据库表,熟悉相关的操作指令,实现对SQLite数据库的感性认识 创建一个包含简单内容的数