/*玉开博客 http://blog.csdn.net/yukaizhao/ */
using System;
using System.Collections.Generic;
using System.Text;
using System.Xml;
namespace XmlExample
{
class Program
{
static void Main(string[] args)
{
string xmlFilePath = @"X:\about.net\example\XmlExample\1.xml";
XmlDocument doc = new XmlDocument();
doc.Load(xmlFilePath);
//使用xpath表达式选择文档中所有的student子节点
XmlNodeList studentNodeList = doc.SelectNodes("/students/student");
if (studentNodeList != null)
{
foreach (XmlNode studentNode in studentNodeList)
{
//通过Attributes获得属性名字为name的属性
string name = studentNode.Attributes["name"].Value;
Console.WriteLine("Student:" + name);
//通过SelectSingleNode方法获得当前节点下的courses子节点
XmlNode coursesNode = studentNode.SelectSingleNode("courses");
//通过ChildNodes属性获得courseNode的所有一级子节点
XmlNodeList courseNodeList = coursesNode.ChildNodes;
if (courseNodeList != null)
{
foreach (XmlNode courseNode in courseNodeList)
{
Console.Write("\t");
Console.Write(courseNode.Attributes["name"].Value);
Console.Write("老师评语");
//通过FirstNode属性可以获得课程节点的第一个子节点,LastNode可以获得最后一个子节点
XmlNode teacherCommentNode = courseNode.FirstChild;
//读取CData节点
XmlCDataSection cdata = (XmlCDataSection)teacherCommentNode.FirstChild;
Console.WriteLine(cdata.InnerText.Trim());
}
}
}
}
Console.Write("\r\nPress any key to continue....");
Console.Read();
}
}
}
/*玉开博客 http://blog.csdn.net/yukaizhao/ */
using System;
using System.Collections.Generic;
using System.Text;
using System.Xml;
namespace WriteXml
{
class Program
{
static void Main(string[] args)
{
XmlDocument xmlDoc = new XmlDocument();
//创建Xml声明部分,即
xmlDoc.CreateXmlDeclaration("1.0", "utf-8", "yes");
//创建根节点
XmlNode rootNode = xmlDoc.CreateElement("students");
//创建student子节点
XmlNode studentNode = xmlDoc.CreateElement("student");
//创建一个属性
XmlAttribute nameAttribute = xmlDoc.CreateAttribute("name");
nameAttribute .Value = "张同学";
//xml节点附件属性
studentNode.Attributes.Append(nameAttribute);
//创建courses子节点
XmlNode coursesNode = xmlDoc.CreateElement("courses");
XmlNode courseNode1 = xmlDoc.CreateElement("course");
XmlAttribute courseNameAttr = xmlDoc.CreateAttribute("name");
courseNameAttr.Value = "语文";
courseNode1.Attributes.Append(courseNameAttr);
XmlNode teacherCommentNode = xmlDoc.CreateElement("teacherComment");
//创建Cdata块
XmlCDataSection cdata = xmlDoc.CreateCDataSection("这是语文老师的批注");
teacherCommentNode.AppendChild(cdata);
courseNode1.AppendChild(teacherCommentNode);
coursesNode.AppendChild(courseNode1);
//附加子节点
studentNode.AppendChild(coursesNode);
rootNode.AppendChild(studentNode);
//附加根节点
xmlDoc.AppendChild(rootNode);
//保存Xml文档
xmlDoc.Save(@"d:\test.xml");
Console.WriteLine("已保存Xml文档");
}
}
}
C#处理Xml相关随笔
1. 通过XmlDocument读写Xml文档