赞
踩
using System.Xml;//1.引入命名空间
XmlDocument xmldoc = new XmlDocument();//2.创建XML文档对象
XmlDeclaration xmldec = xmldoc.CreateXmlDeclaration("1.0", "utf-8", null); //3.创建第一行描述信息,
xmldoc.AppendChild(xmldec);//添加到xmldoc文档中
XmlElement xmlele1 = xmldoc.CreateElement("Books");//4.创建根节点,xml文档有且只能有一个根节点
xmldoc.AppendChild(xmlele1);//5.将根节点添加到xmldoc文档中
XmlElement xmlele2 = xmldoc.CreateElement("Book");//6.创建子节点
xmlele1.AppendChild(xmlele2);//7.将子节点添加到根节点
XmlElement name = xmldoc.CreateElement("Name");//6.将子节点添加到子节点
name.InnerText = "c#从入门到精通";
xmlele2.AppendChild(name);
//属性
XmlElement xmlele3 = xmldoc.CreateElement("Pen");
xmlele1.AppendChild(xmlele3);
XmlElement item = xmldoc.CreateElement("Ttem");
item.SetAttribute("材质", "金子");//设置属性
item.SetAttribute("颜色", "黄色");//设置属性
xmldoc.Save("Books.xml");//保存文档
XML常用属性方法
XmlDocument xmldoc = new XmlDocument();//1.XmlDocument类实例化
xmldoc.Load("");//2.导入指定xml文件
XmlNode xmlnode = xmldoc.SelectSingleNode(""); //3.获取指定节点
XmlNodeList nodelist1 = xmlnode.ChildNodes;//4.获取指定节点下所有子节点
XmlNodeList nodelist2 = xmldoc.SelectNodes(""); //5.获取同级同名所有节点
bool b = xmlnode.HasChildNodes;//6.判断指定节点下是否有子节点
XmlElement xmlelement = xmldoc.CreateElement("");//7.创建一个节点
xmlnode.AppendChild(xmlelement);//8.为指定节点下添加子节点
xmlelement.SetAttribute("", "");//9.为指定节点添加属性并赋值
string s1 = xmlelement.Attributes[""].Value; //10.获取指定节点属性值
string s2 = xmlelement.InnerText;//11.获取指定节点文本
xmldoc.Save("");//12.保存xml文件
xml
使用xml时,一定要引用命名空间:using System.Xml;
创建不带属性的xml文档
// (1)创建xml文档对象
XmlDocument doc = new XmlDocument();
// (2)创建描述信息(第1行)
XmlDeclaration dec = doc.CreateXmlDeclaration("1.0", "utf-8", null);
doc.AppendChild(dec);
// (3)创建根节点(Books)
XmlElement books = doc.CreateElement("Books");
doc.AppendChild(books);
// (4)给根节点Books创建第1个子节点
XmlElement book1 = doc.CreateElement("Book");
books.AppendChild(book1);
XmlElement name1 = doc.CreateElement("Name");
name1.InnerText = "红楼梦";
book1.AppendChild(name1);
XmlElement writer1 = doc.CreateElement("Writer");
writer1.InnerXml = "曹雪芹";
book1.AppendChild(writer1);
// (5)给根节点Books创建第2个子节点
XmlElement book2 = doc.CreateElement("Book");
books.AppendChild(book2);
XmlElement name2 = doc.CreateElement("Name");
name2.InnerText = "西游记";
book2.AppendChild(name2);
XmlElement writer2 = doc.CreateElement("Writer");
writer2.InnerXml = "吴承恩";
book2.AppendChild(writer2);
// (5)保存到doc文档中 string path = Application.dataPath+ "/book.xml"; doc.Save(path ); MessageBox.Show("保存成功"); 效果如下: <?xml version="1.0" encoding="utf-8"?> <Books> <Book> <Name>红楼梦</Name> <Writer>曹雪芹</Writer> </Book> <Book> <Name>西游记</Name> <Writer>吴承恩</Writer> </Book> </Books>
删除Items节点下的所有元素
XmlDocument doc = new XmlDocument();
doc.Load("Order.xml");
XmlNode xn = doc.SelectSingleNode("/Order/Items");
xn.RemoveAll();
doc.Save("Order.xml"); //删除后重新保存一下
读取不带属性的xml文档
XmlDocument doc = new XmlDocument();
//加载要读取的xml
doc.Load("Books.xml");
//获取根节点
XmlElement books = doc.DocumentElement;
//获取子节点 返回节点集合
XmlNodeList xnl = books.ChildNodes;
foreach (XmlNode item in xnl)
{
textBox1.AppendText(item.InnerText + "\r\n");
}
读取带属性的xml文档
XmlDocument doc = new XmlDocument();
doc.Load("Order.xml");
XmlNodeList xnl = doc.SelectNodes("/Order/Items/OrderItem");
foreach (XmlNode node in xnl)
{
Debug.Log(no.InnerText);
if (no.Attributes["name"] != null)
Debug.Log(no.Attributes["name"].Value);
Debug.Log(no.Name);
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。