C# 创建和解析XML文件

/ 0评 / 0

XML文件是一种常用的文件格式,例如WinForm里面的app.config以及Web程序中的web.config文件,还有许多重要的场所都有它的身影。Xml是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具。XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,虽然XML占用的空间比二进制数据要占用更多的空间,但XML极其简单易于掌握和使用。微软也提供了一系列类库来倒帮助我们在应用程序中存储XML文件。

1.创建XML文件
/// <summary>
/// 创建XML文件
/// </summary>
/// <param name="path">创建文件地址</param>

public static void CreateXML(string path)
{
XmlDocument xml = new XmlDocument();
XmlNode node = xml.CreateXmlDeclaration("1.0", "utf-8", "");//创建头节点
xml.AppendChild(node);//增加头节点
XmlElement newEl = xml.CreateElement("Root1");//创建节点
xml.AppendChild(newEl);//增加根节点
XmlNode root = xml.SelectSingleNode("Root1");//选择根节点

XmlElement el = xml.CreateElement("Node1");//创建节点元素
el.SetAttribute("name", "子节点");//设置属性值

XmlElement child = xml.CreateElement("ChildNode");
child.InnerText = "节点内容";//设置子节点内容
el.AppendChild(child);//增加子节点到Node1

root.AppendChild(el);//把元素增加到根节点
xml.Save(path);//path为全路径+文件名 例如:path = "c://test.xml";在C盘test.xml
}
创建成功内容如下:
<?xml version="1.0" encoding="utf-8"?>
<Root1>
<Node1 name="子节点">
<ChildNode>节点内容</ChildNode>
</Node1>
</Root1>

2.解析XML文件
/// <summary>
/// 解析XML
/// </summary>
/// <param name="path">XML文件地址</param>

public static void ReadXML(string path)
{
XmlDocument xml = new XmlDocument();
xml.Load(path);//加载XML文件
XmlNodeList list = xml.SelectSingleNode("Root1").ChildNodes;//读取Root下所有的子节点
foreach (XmlNode node in list)//遍历所有子节点
{
XmlElement xe = (XmlElement)node;//把节点转化成元素
string name = xe.GetAttribute("name");//获取该节点的name属性值

XmlNodeList firList = xe.ChildNodes;//读取该节点的子节点
foreach (XmlNode firNode in firList)//遍历该节点的子节点
{
XmlElement firEl = (XmlElement)firNode;
string neirong = firEl.Value;//获取节点内容
}
}
}

Leave a Reply

Your email address will not be published. Required fields are marked *