XML文件因为语法简单,操作方便而受到广泛的使用。下面介绍XML文件的一些操作
CreateXmlFile函数创建一个XML文件
AlterXmlFile函数修改已存在的XML文件
/// <summary>
/// 新建XmlFile
/// </summary>
/// <param name="xmlFile"></param>
private void CreateXmlFile(string xmlFile)
{
XmlDocument doc = new XmlDocument();
doc.AppendChild(doc.CreateXmlDeclaration("1.0", "utf-8", ""));
//BookList
XmlNode blNode = doc.CreateElement("BookList");
//Book
XmlNode bookNode = CreateBookNode("我的二战回忆录", "丘吉尔", doc);
//Chapter
bookNode.AppendChild(CreateChapterNode("Chapter1", "胜利者的蠢事", doc));
bookNode.AppendChild(CreateChapterNode("Chapter2", "和平的鼎盛时期", doc));
blNode.AppendChild(bookNode);
doc.AppendChild(blNode);
doc.Save(xmlFile);
}
/// <summary>
/// 往BookList中追加子节点
/// </summary>
/// <param name="xmlFile"></param>
private void AlterXmlFile(string xmlFile)
{
XmlDocument doc = new XmlDocument();
doc.Load(xmlFile);
XmlNode bookNode = doc.SelectSingleNode("//Book");
bookNode.AppendChild(CreateChapterNode("Chapter3", "潜伏的危险", doc));
bookNode.AppendChild(CreateChapterNode("Chapter4", "阿道夫.希特勒", doc));
XmlNode blNode = doc.SelectSingleNode("//BookList");
XmlNode newBookNode = CreateBookNode("泰戈尔诗集", "泰戈尔", doc);
newBookNode.AppendChild(CreateChapterNode("Chapter1", "园丁集", doc));
newBookNode.AppendChild(CreateChapterNode("Chapter2", "飞鸟集", doc));
blNode.AppendChild(newBookNode);
doc.Save(xmlFile);
}
/// <summary>
/// Create Book Node
/// </summary>
/// <param name="name"></param>
/// <param name="author"></param>
/// <param name="doc"></param>
/// <returns></returns>
private XmlNode CreateBookNode(string name, string author,XmlDocument doc)
{
//Book
XmlNode bookNode = doc.CreateElement("Book");
//Name=""
XmlAttribute attrName = doc.CreateAttribute("Name");
attrName.Value = name;
bookNode.Attributes.Append(attrName);
//Author=""
XmlAttribute attrAuthor = doc.CreateAttribute("Author");
attrAuthor.Value = author;
bookNode.Attributes.Append(attrAuthor);
return bookNode;
}
/// <summary>
/// Create Chapter Node
/// </summary>
/// <param name="index"></param>
/// <param name="chapterTitle"></param>
/// <param name="doc"></param>
/// <returns></returns>
private XmlNode CreateChapterNode(string index,string chapterTitle,XmlDocument doc)
{
//Chapter
XmlNode chapNode = doc.CreateElement("Chapter");
//Index=""
XmlAttribute attrIndex = doc.CreateAttribute("Index");
attrIndex.Value = index;
chapNode.Attributes.Append(attrIndex);
//Title=
XmlAttribute attrTitle = doc.CreateAttribute("Title");
attrTitle.Value = chapterTitle;
chapNode.Attributes.Append(attrTitle);
return chapNode;
}
通过上面先创建,然后修改XML文件的操作,得到的XML文件如下:
<?xml version="1.0" encoding="utf-8"?>
<BookList>
<Book Name="我的二战回忆录" Author="丘吉尔">
<Chapter Index="Chapter1" Title="胜利者的蠢事" />
<Chapter Index="Chapter2" Title="和平的鼎盛时期" />
<Chapter Index="Chapter3" Title="潜伏的危险" />
<Chapter Index="Chapter4" Title="阿道夫.希特勒" />
</Book>
<Book Name="泰戈尔诗集" Author="泰戈尔">
<Chapter Index="Chapter1" Title="园丁集" />
<Chapter Index="Chapter2" Title="飞鸟集" />
</Book>
</BookList>
下章将介绍XML文件的读操作,主要是用xpath读XML文件
转载于:https://www.cnblogs.com/LouisZhu/archive/2010/06/10/1755989.html