C # 操作 XML
概要讲一下 C# 对 XML 的使用
事实上,一个 XML 文件在加载入内存中后会是以 Dom 树的形式存在,
所以对一个 XML 文件的操作也就归根为一个对 Dom 的操作了,
首先看一下 XML 文件的大体结构
也即是一个学校里面的学生,拥有学号,姓名,性别,年龄
<?xml version="1.0" encoding="utf-8"?>
<School>
<Student number="001">
<Name>XiaoZhen</Name>
<Sex>男</Sex>
<Age>20</Age>
</Student>
<Student number="002">
<Name>BaoBei</Name>
<Sex>男</Sex>
<Age>20</Age>
</Student>
<Student number="003">
<Name>SuHa</Name>
<Sex>女</Sex>
<Age>21</Age>
</Student>
<Student number="004">
<Name>BaoBeiMe</Name>
<Sex>女</Sex>
<Age>20</Age>
</Student>
</School>
然后便是对其的基本操作了
public class getAllXmlData
{
private string xmlPath;
public getAllXmlData(string path)
{
xmlPath = path;
}
//即是获取指定路径的 XML文件中的所有数据
//并且是以 DataView 对象返回数据集
public DataView GetXmlDataView()
{
DataTable myTable = new DataTable();
DataRow myRow;
myTable.Columns.Add("学号", Type.GetType("System.String"));
myTable.Columns.Add("姓名", Type.GetType("System.String"));
myTable.Columns.Add("性别", Type.GetType("System.String"));
myTable.Columns.Add("年龄", Type.GetType("System.String"));
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(xmlPath);
XmlElement root = xmlDoc.DocumentElement;
foreach (XmlNode node in root.ChildNodes)
{
myRow = myTable.NewRow();
myRow["学号"] = node.Attributes["number"].Value;
myRow["姓名"] = node.SelectSingleNode("./Name").InnerText;
myRow["性别"] = node.SelectSingleNode("./Sex").InnerText;
myRow["年龄"] = node.SelectSingleNode("./Age").InnerText;
myTable.Rows.Add(myRow);
}
return myTable.DefaultView;
}
}
又如在 XML 文件中新增一条新的数据
public void InsertXmlData(string xmlPath)
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(xmlPath);
XmlElement root = xmlDoc.DocumentElement;
XmlElement student = xmlDoc.CreateElement("Student");
student.SetAttribute("number", strNumber);
XmlElement name = xmlDoc.CreateElement("Name");
name.InnerText = strName;
XmlElement sex = xmlDoc.CreateElement("Sex");
sex.InnerText = strSex;
XmlElement age = xmlDoc.CreateElement("Age");
age.InnerText = strAge;
student.AppendChild(name);
student.AppendChild(sex);
student.AppendChild(age);
root.AppendChild(student);
xmlDoc.Save(xmlPath);
}
由上面代码可以看出
对 XML 的一个操作完全是以 Dom 的形式来实现的
所以对 XML 的掌握程度关键还在于 Dom
转载于:https://www.cnblogs.com/BoyXiao/archive/2009/12/20/1628030.html
C # 操作 XML相关推荐
- 使用Dom4j操作XML数据
--------------siwuxie095 dom4j 是一个非常优秀的 Java XML 的 API, 用来读写 XML 文件 和操作 XML 数据 特点:性能优异.功能强大.极端易用 dom ...
- 在C#.net中如何操作XML
在C#.net中如何操作XML 需要添加的命名空间: using System.Xml; 定义几个公共对象: XmlDocument xmldoc ; XmlNode xmlnode ; XmlEle ...
- ActionScript 3操作XML 详解
AS3引入了E4X ,它是根据ECMAScript标准处理XML 数据的全新机制.这使得程序员在程序中无缝地操作XML.在AS3中可以使用XML字面值将XML数据直接写入代码,该字面值将被自动解析. ...
- 我错了,有个叫 SelectSingleNode 的可以操作 xml
我错了,有个叫 SelectSingleNode 的可以操作 xml http://blog.csdn.net/wf520pb/article/details/2644549 ------------ ...
- android xml文件操作类,android操作xml
android操作xml封装后的类,包括创建xml和读xml. public class XmlParserUtil { //创建xml文件 public static void createXmlF ...
- c#操作xml实例 2009-03-13 20:00
在C#.net中如何操作XML 需要添加的命名空间: using System.Xml; 定义几个公共对象: XmlDocument xmldoc ; XmlNode xmlnode ; XmlEle ...
- C#操作XML总结1
C#操作XML总结1 网上很多C#操作XML的文章,但是都是东拼西凑,把简单的问题复杂化,不参考罢了.如若照搬硬套,不但达不到目标,反而浪费时间.原本以前做过操作XML的程序,但是忘了,所以今天下午就 ...
- VC++中操作XML(MFC、SDK)
VC++中操作XML(MFC.SDK) XML在Win32程序方面应该没有在Web方面应用得多,很多Win32程序也只是用XML来存存配置信息而已,而且没有足够的好处的话还不如用ini.VC++里操作 ...
- Repeater、GridView等 操作XML
Repeater.GridView等 操作XML文件 在项目中需要对XML文件进行管理,我用了Repeater 的方式来实现了实时的更新 希望对阅读这篇随笔的您有所帮助,我用的Repeater,您也可 ...
- ASP.net Xml: ASP.net操作Xml
专题图编号:ylbtechASPnetXml100010010 XML课件PPT[在线PPT课件倡导者-ylb] http://wenku.baidu.com/view/bfac3ebe1a37f1 ...
最新文章
- 汽车高级驾驶辅助系统ADAS激光雷达创新者Cepton与Growth Capital达成企业合并协议
- 35 个 Java 代码性能优化总结
- python web为什么不火-pythonweb为什么不火-问答-阿里云开发者社区-阿里云
- LeetCode-1423:可获得的最大点数
- python爬虫框架scrapy操作步骤
- ARTetris-AR版俄罗斯方块的源码解析
- 大班音乐机器人反思_幼儿园大班音乐律动教案《伦敦桥》含反思
- Office2021中文零售版的离线安装包下载地址合集
- Sparse Principal Component Analysis
- php try catch 作用域,浅谈PHP中try{}catch{}的使用方法
- idea导入eclipse快捷键
- 学GIS的你,是时候自己做张中国地图了(附行政区划数据下载)
- html5 图片命名,html5 css命名规范
- 软件测试多长时间可以学习,软件测试学习多长时间啊?好学吗?
- Android中补间动画相关知识
- Codeforces 802 补题
- c,c++代码格式规范
- 电脑上与android手机文件互传
- 如何在微信公众号上传PDF文件?
- django 连接数据库 sqlite
热门文章
- android安全string,[求助]Android Xposed 有没有可以将String转换成Method类型的方法
- 二元函数泰勒公式例题_考研.泰勒公式的理解与运用.一次全懂
- 横断面数据提取工具_SDTP_CAD断面数据处理教程
- 雪花算法id长度_【Java】分布式自增ID算法雪花算法 (snowflake,Java版)
- 如何避免_小红书如何避免降权!
- 推荐几个值得关注的爬虫库
- pytorch学习笔记(二十):Padding-And-Strides
- Math.random()取随机数一直为0
- 使用LaTeX绘制列表(有的地方称作Num Item)
- [转]MIDI常识20条