利用XmlDocument操作XML文件
利用XmlDocument可以方便的操作XML文件。 .操作XML文件基本方法 ()添加对System.Xml的引用,并使用using语句添加引用; ()假设要读取的XML文件如下: <?xml version="1.0" encoding="utf-8"?>
<Students>
<Student>
<Name>张靓靓</Name>
<Age></Age>
<Hobby>唱歌歌</Hobby>
</Student>
<Student>
<Name>周杰杰</Name>
<Age></Age>
<Hobby>耍双节棍棍</Hobby>
</Student>
</Students> ()编写程序,增加节点: private static void AddNode()
{
XmlDocument myXml = new XmlDocument();
myXml.Load("Student.xml"); //读取指定的XML文档
XmlNode students = myXml.SelectSingleNode("Students");//读取Students节点
XmlElement newStudent = myXml.CreateElement("Student"); newStudent.SetAttribute("班级", "10软件");
XmlElement name = myXml.CreateElement("Name");
name.InnerText = "张三";
XmlElement age = myXml.CreateElement("Age");
age.InnerText = "";
XmlElement hobby = myXml.CreateElement("Hobby");
hobby.InnerText = "看书";
newStudent.AppendChild(name);
newStudent.AppendChild(age);
newStudent.AppendChild(hobby);
students.AppendChild(newStudent);
myXml.Save("Student.xml");
} ()删除节点: private static void DelNode()
{
XmlDocument myXml = new XmlDocument();
myXml.Load("Student.xml"); //读取指定的XML文档
XmlNode student= myXml.SelectSingleNode("//Student[Name='张德友']");//读取节点
if(student!=null)
student.ParentNode.RemoveChild(student);
myXml.Save("Student.xml");
} ()修改节点的值: private static void ChangeNode()
{
XmlDocument myXml = new XmlDocument();
myXml.Load("Student.xml"); //读取指定的XML文档
XmlNodeList students = myXml.DocumentElement.ChildNodes;
foreach (XmlNode student in students)
{
XmlElement name=student.SelectSingleNode("Name") as XmlElement;//读取节点
if (name.InnerText.Equals("张三"))
name.InnerText = "李四";
}
myXml.Save("Student.xml");
} ()读取XML文件: private static void ReadNode()
{
XmlDocument myXml = new XmlDocument();
myXml.Load("Student.xml"); //读取指定的XML文档
XmlNodeList students = myXml.DocumentElement.ChildNodes;//读取所有Student节点
foreach (XmlNode student in students)// 对子节点进行循环
{
foreach (XmlNode node in student.ChildNodes)
{
//将每个节点的内容显示出来
switch (node.Name)
{
case "Name":
Console.WriteLine("姓名:{0}", node.InnerText);
break;
case "Age":
Console.WriteLine("年龄:{0}", node.InnerText);
break;
case "Hobby":
Console.WriteLine("爱好:{0}", node.InnerText);
break;
}
}
}
} 操作ASP.NET网站站点地图文件: 站点地图文件Web.sitemap的格式如下: <?xml version="1.0" encoding="utf-8"?>
<siteMapNode url="default.aspx" title="新书推荐" description="">
<siteMapNode title=" C#" url="BookList.aspx?typeid=1" description="" />
<siteMapNode title=".NET" url="BookList.aspx?typeid=25" description="" />
</siteMapNode> /// <summary>
/// 更新全部XML
/// </summary>
private void ModifyXml()
{
xmldocTree.Load(Server.MapPath(CATAGORYXML));
xmldocTree.SelectSingleNode("siteMapNode").InnerText="";
foreach (Category catagory in CategoryManager.GetAllCategories())
{
MakeChild(catagory);
}
xmldocTree.Save(Server.MapPath(CATAGORYXML));
}
/// <summary>
/// 设置子节点
/// </summary>
/// <param name="catagory"></param>
private void MakeChild(Category catagory)
{
XmlElement xmlelNode = xmldocTree.CreateElement("siteMapNode");
xmlelNode.SetAttribute("title", catagory.Name);
xmlelNode.SetAttribute("url", BOOKLISTURL + catagory.Id.ToString());
xmlelNode.SetAttribute("description", "");
xmldocTree.SelectSingleNode("siteMapNode").AppendChild(xmlelNode);
} 拣尽寒枝不肯栖,寂寞沙洲。 分类: .Net 标签: XML 绿色通道: 谢谢推荐! 已关注 收藏该文与我联系 zhouhb
关注 -
粉丝 - 我在关注他 取消关注 推荐成功 « 上一篇:C#调用带返回值的存储过程
» 下一篇:JavaScript学习笔记(一)—细节问题
利用XmlDocument操作XML文件的更多相关文章
- Asp.Net 操作XML文件的增删改查 利用GridView
不废话,直接上如何利用Asp.NET操作XML文件,并对其属性进行修改,刚开始的时候,是打算使用JS来控制生成XML文件的,但是最后却是无法创建文件,读取文件则没有使用了 index.aspx 文件 ...
- C#操作xml文件:使用XmlDocument 实现读取和写入
XML文件是一种常用的文件格式,例如WinForm里面的app.config以及Web程序中的web.config文件,还有许多重要的场所都有它的身影.Xml是Internet环境中跨平台的,依赖于内 ...
- 使用XML序列化器生成XML文件和利用pull解析XML文件
首先,指定XML格式,我指定的XML格式如下: <?xml version='1.0' encoding='utf-8' standalone='yes' ?> <message&g ...
- WebAPI调用笔记 ASP.NET CORE 学习之自定义异常处理 MySQL数据库查询优化建议 .NET操作XML文件之泛型集合的序列化与反序列化 Asp.Net Core 轻松学-多线程之Task快速上手 Asp.Net Core 轻松学-多线程之Task(补充)
WebAPI调用笔记 前言 即时通信项目中初次调用OA接口遇到了一些问题,因为本人从业后几乎一直做CS端项目,一个简单的WebAPI调用居然浪费了不少时间,特此记录. 接口描述 首先说明一下,基于 ...
- Java操作XML文件 dom4j 篇
在项目中,我们很多都用到了xml文件,无论是参数配置还是与其它系统的数据交互.今天就来讲一下Java 中使用dom4j来操作XML文件. 我们需要引入的包: //文件包 import java.io. ...
- PHP操作XML文件学习笔记
原文:PHP操作XML文件学习笔记 XML文件属于标签语言,可以通过自定义标签存储数据,其主要作用也是作为存储数据. 对于XML的操作包括遍历,生成,修改,删除等其他类似的操作.PHP对于XML的操作 ...
- Qt之QDomDocument操作xml文件-模拟ini文件存储
一.背景 不得不说Qt是一个很强大的类库,不管是做项目还是做产品,Qt自身封装的东西就已经非常全面了,我们今天的这篇文章就是模拟了Qt读写ini文件的一个操作,当然是由于一些外力原因,我们决定自己来完 ...
- JAVA中通过Jaxp操作XML文件基础
Java中有多种方式操作XML文件,目前讲一讲以SUN公司提供的DocumentBuilderFactory工厂类对象操作XML. 使用XML基本操作就是需要CRUD(增删改查),那么首先通过一个查询 ...
- C#基础知识---Linq操作XML文件
概述 Linq也就是Language Integrated Query的缩写,即语言集成查询,是微软在.Net 3.5中提出的一项新技术. Linq主要包含4个组件---Linq to Objects ...
随机推荐
- Android Sqlite 批量插入性能优化
db.beginTransaction(); try { for (...) { db.execSQL("...", new Object[]{}); } db.setTransa ...
- jquery jsonp模版
$.ajax({ dataType: "jsonp", url: "http://www.b.com/b.php", jsonp: "callback ...
- Remoting 学习一调用远程的类就像调用本地的类一样
Remoting 使用TCP/IP 协议,服务端可以是服务,web服务器,类. 例子1. 远程调用服务端的类,就像调用客户端机器上的类一样. 服务端代码 (先定义被客户端调用的类,然后注 ...
- .net mvc超过了最大请求长度
项目中遇到"超过了最大请求长度"如下图所示,是因为IIS默认请求长度4M,当请求长度大于这个值的时候报错. 修改maxRequestLength:在web.config中我们修改& ...
- hdu 3401 单调队列优化+dp
http://acm.hdu.edu.cn/showproblem.php?pid=3401 Trade Time Limit: 2000/1000 MS (Java/Others) Memor ...
- Eclipse 快捷键大全(群里共享的,留下来以后兴许会用到)
Eclipse快捷键大全Ctrl+1 快速修复(最经典的快捷键,就不用多说了)Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加) Ctrl+Alt+↑ 复制当前行到上一行 ...
- Python with 结构
一段基本的 with 表达式,其结构是这样的: with EXPR as VAR: BLOCK EXPR 可以是任意表达式: as VAR 是可选的.其一般的执行过程是这样的: 计算 EXPR ,并获 ...
- DNS分别在什么情况下使用UDP和TCP?
看到一个题目问的是:DNS分别在什么情况下使用UDP和TCP? 仔细查了一下发现可查询的资料很少,大部分都把DNS所用协议归为UDP了其实不然,DNS同时占用UDP和TCP端口53,这种单个应用协议同 ...
- BZOJ4930: 棋盘
BZOJ4930: 棋盘 https://lydsy.com/JudgeOnline/problem.php?id=4930 分析: 基本上就是游戏那道题加上费用流了,所以没啥好说的. 记得两边都是拆 ...
- 高并发下Redis如何保持数据一致性(避免读后写)
通常意义上我们说读后写是指针对同一个数据的先读后写,且写入的值依赖于读取的值. 关于这个定义要拆成两部分来看,一:同一个数据:二:写依赖于读.(记住这个拆分,后续会用到,记为定义一.定义二)只有当这两 ...