使用xml时,一定要引用命名空间:using ;
- 创建不带属性的xml文档
// (1)创建xml文档对象
XmlDocument doc = new XmlDocument();
// (2)创建描述信息(第1行)
XmlDeclaration dec = ("1.0", "utf-8", null);
(dec);
// (3)创建根节点(Books)
XmlElement books = ("Books");
(books);
// (4)给根节点Books创建第1个子节点
XmlElement book1 = ("Book");
(book1);
XmlElement name1 = ("Name");
= "红楼梦";
(name1);
XmlElement writer1 = ("Writer");
= "曹雪芹";
(writer1);
XmlElement price1 = ("Price");
= "25";
(price1);
// (5)给根节点Books创建第2个子节点
XmlElement book2 = ("Book");
(book2);
XmlElement name2 = ("Name");
= "西游记";
(name2);
XmlElement writer2 = ("Writer");
= "吴承恩";
(writer2);
XmlElement price2 = ("Price");
= "20";
(price2);
// (5)保存到doc文档中
("");
("保存成功");
效果如下:
<?xml version="1.0" encoding="utf-8"?>
<Books>
<Book>
<Name>红楼梦</Name>
<Writer>曹雪芹</Writer>
<Price>25</Price>
</Book>
<Book>
<Name>西游记</Name>
<Writer>吴承恩</Writer>
<Price>20</Price>
</Book>
</Books>
- 创建带属性的xml文档
// (1)创建xml文档对象
XmlDocument doc = new XmlDocument();
// (2)创建描述信息(第1行)
XmlDeclaration dec = ("1.0", "utf-8", null);
(dec);
// (3)创建根节点(Order),且保存
XmlElement order = ("Order");
(order);
// (4)给根节点Books创建第1个子节点
XmlElement customrName = ("CustomrName");
= "Jom";
(customrName);
XmlElement carName = ("CarName");
= "奥迪";
(carName);
XmlElement price = ("Price");
= "50万";
(price);
// (5)给根节点Books创建第2个子节点
XmlElement items = ("Items");
(items);
XmlElement orderItem2 = ("OrderItem");
("Name", "手机"); //给节点添加属性
("Count", "10");
(orderItem2);
XmlElement orderItem3 = ("OrderItem");
("Name", "平板"); //给节点添加属性
("Count", "15");
(orderItem3);
// (5)保存到doc文档中
("");
("保存成功");
效果如下:
<?xml version="1.0" encoding="utf-8"?>
<Order>
<CustomrName>Jom</CustomrName>
<CarName>奥迪</CarName>
<Price>50万</Price>
<Items>
<OrderItem Name="手机" Count="10" />
<OrderItem Name="平板" Count="15" />
</Items>
</Order>
- 删除Items节点下的所有元素
XmlDocument doc = new XmlDocument();
("");
XmlNode xn = ("/Order/Items");
();
(""); //删除后重新保存一下
删除前:
<?xml version="1.0" encoding="utf-8"?>
<Order>
<CustomrName>Jom</CustomrName>
<CarName>奥迪</CarName>
<Price>50万</Price>
<Items>
<OrderItem Name="手机" Count="10" />
<OrderItem Name="平板" Count="15" />
</Items>
</Order>
删除后:
<?xml version="1.0" encoding="utf-8"?>
<Order>
<CustomrName>Jom</CustomrName>
<CarName>奥迪</CarName>
<Price>50万</Price>
<Items>
</Items>
</Order>
- 读取不带属性的xml文档
XmlDocument doc = new XmlDocument();
//加载要读取的xml
("");
//获取根节点
XmlElement books = ;
//获取子节点 返回节点集合
XmlNodeList xnl = ;
foreach (XmlNode item in xnl)
{
( + "\r\n");
}
xml文档
<?xml version="1.0" encoding="utf-8"?>
<Books>
<Book>
<Name>红楼梦</Name>
<Writer>曹雪芹</Writer>
<Price>25</Price>
</Book>
<Book>
<Name>西游记</Name>
<Writer>吴承恩</Writer>
<Price>20</Price>
</Book>
</Books>
效果如下:
红楼梦曹雪芹25
西游记吴承恩20
- 读取带属性的xml文档
XmlDocument doc = new XmlDocument();
("");
XmlNodeList xnl = ("/Order/Items/OrderItem");
foreach (XmlNode node in xnl)
{
(["Name"].Value + "\r\n");
(["Count"].Value + "\r\n");
}
xml文档
<?xml version="1.0" encoding="utf-8"?>
<Order>
<CustomrName>Jom</CustomrName>
<CarName>奥迪</CarName>
<Price>50万</Price>
<Items>
<OrderItem Name="手机" Count="10" />
<OrderItem Name="平板" Count="15" />
</Items>
</Order>
效果如下:
手机
10
平板
15
最后再介绍一种常用的方法:
读取name节点的元素:
<?xml version="1.0" encoding="utf-8"?>
<school>
<name>昆山一中</name>
<addr>苏州市昆山市马鞍山中路619号</addr>
<tel>0512-123456789</tel>
</school>
程序如下:
/* 步骤:
* 1.实例化一个xml对象
* 2.加载一个xml文档到这个对象
* 3.获取根节点
* 4.在此根节点上根据参数查找子节点
* 5.获取子节点的元素
*/
XmlDocument doc = new XmlDocument();
("");
XmlNode root = ;
XmlNode name = ("//name");
if (name != null)
{
string schoolName = ; //结果:昆山一中
}
源文件下载地址:
链接:/s/1djYSwlLCYw7s1jF-PRFSTw
提取码:h3au