20131201-插件-XML-第十二天(未完)
- 以后再写代码的时候,先从中间层|接口|协议开始入手。
- 在写XML时注意的事情:
- 在EditPlus中,Tab是缩进
- 在头文件中的编码格式是"utf-8"是,在Editplus中保存时要注意保存下的格式,编写时的格式与保存时的格式要一致,否则会报错
- 拖到浏览器中检查是否有错
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");
}
}
}
最新文章
- 【leetcode】 Permutation Sequence (middle)
- Django model 中meta options
- PHP 常用字符串函数整理
- 用opencv画矩形打上马赛克Mosaic
- 关于PHPstorm 使用技巧
- POJ 3481 Double Queue STLmap和set新学到的一点用法
- MongoDB的一些用法(转藏)
- 微信小程序(一)基本知识初识别
- MPLS LDP随堂笔记1
- 201521123011 《Java程序设计》第13周学习总结
- Mybatis通过注解方式实现批量插入数据库 及 常见的坑
- VS打开项目 提示Asp.net4.0未在web服务器上注册的解决方案
- LinkedList阅读
- Python【每日一问】12
- Numpy与Matplotlib
- 简单的三道shell例题
- 动手动脑(&;课后实验):生成随机数,函数的重载
- RAD Studio August 2018 Roadmap
- mysql 设置多个字段聚合自增
- sql 用Group by分组后,取每组的前几条记录
热门文章
- Hive-分组之后取前n个
- 活锁(livelock) 专题
- List.Sort() 小小技巧--- 从大到小排列
- DELPHI XE2 采用 JSON 的方式来序列化对象
- Qt 开发WEB Services客户端代码(使用gSoap)
- C++的标准库函数默认都是操作字节,而不是字符,非常痛苦,所以引入了u16string和u32string(Linux上的wchar_t是32位的原因,utf16对unicode的支持是有缺陷的)good
- 使用sikuli软件进行自动化编程
- 如何调整cookie的生命周期
- 【python3两小时根本不够】入门笔记04:线程+Lock安全同步
- 六种 主流ETL 工具的比较(DataPipeline,Kettle,Talend,Informatica,Datax ,Oracle Goldengate)