20131201-插件-XML-第十二天(未完)

  1. 以后再写代码的时候,先从中间层|接口|协议开始入手。
  2. 在写XML时注意的事情:
    1. 在EditPlus中,Tab是缩进
    2. 在头文件中的编码格式是"utf-8"是,在Editplus中保存时要注意保存下的格式,编写时的格式与保存时的格式要一致,否则会报错
    3. 拖到浏览器中检查是否有错

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()

{

//1XDocument所在namespaceusing System.Xml.Linq;

//2XML文档声明语句

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");//子节点

 

 

//6XML写的操作用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");

}

}

}

你可能感兴趣的:(20131201-插件-XML-第十二天(未完))