20131201-插件-XML-第十二天(未完)
阅读原文时间:2023年07月11日阅读:1
  1. 以后再写代码的时候,先从中间层|接口|协议开始入手。

  2. 在写XML时注意的事情:

3、

namespace XmlReadAndWrite

{

class
Program

{

static
void Main(string[] args)

{

XmlWrite();

XmlRead();

Console.ReadKey();

}

private
static
void XmlRead()

{

//1、通过静态类的加载方法实例化Xml

XDocument xdoc = XDocument.Load("1.xml");

//2、获得xml文档的根元素【一级节点--A级节点】

XElement root = xdoc.Root;

//3、根元素下会有很多直接子元素,会是一个子元素集合,用IEnumerable类的对象接受返回值

//实现IEnumerable接口,使本类可以被迭代(foreach),公开枚举数,该枚举数支持在非泛型集合上进行简单迭代

//二级节点--AB+【由root节点得到B节点集】

IEnumerable bs = root.Elements();

//4、遍历B级节点

foreach (XElement b in bs)

{

Console.WriteLine(b.Name + "==" + b.Attribute("id").Value);

//5、有B得到得到C级节点,要展示的信息都在C级

//因为B级节点下有许多C级节点,C级可能不同,此时Element()方法可以用参数指明元素

foreach (XElement c in b.Elements())

{

//显示子元素的名字和属性id的值

//显示子元素的名字

Console.WriteLine(c.Element("name").Value);

//显示子元素的性别

Console.WriteLine(c.Element("gender").Value);

//显示子元素的年龄

Console.WriteLine(c.Element("age").Value);

Console.WriteLine("=========================================");

}

}

}

private
static
void XmlWrite()

{

//1、XDocument所在namespace:using System.Xml.Linq;

//2、XML文档声明语句

XDocument xdoc = new
XDocument();

//3、元素声明语句,XElement有一个参数的构造函数,参数类型是XName,但可以用string,"school"

//该元素用作根节点[A]

XElement root = new
XElement("school");//根节点

//4、再声明一个元素

//该元素用作二级节点[B]

XElement myclass=new
XElement("class");

myclass.SetAttributeValue("id","1115就业班");

//5、再声明一个元素

//该元素用作三级节点[C]

XElement student = new
XElement("student");//子节点

//6、XML写的操作用Set***

student.SetAttributeValue("id", "9527");//student元素设置属性

student.SetElementValue("name", "周星驰");//student元素设置元素

student.SetElementValue("age", "50");//student元素设置元素

student.SetElementValue("gender", "男");//student元素设置元素

//7、组织xml树

//从后往前,三级节点加到二级节点;二级节点加到根节点,根再加到xdoc上

myclass.Add(student);

root.Add(myclass);

xdoc.Add(root);

//8、最后

xdoc.Save("1.xml");

Console.WriteLine("OK");

}

}

}