1、创建 XML
导入命名空间:
代码如下 | 复制代码 |
using System.Xml; //创建 XML 对象 XmlDocument xmlDocument = new XmlDocument(); // 声明 XML XmlDeclaration xmlDeclare =xmlDocument.CreateXmlDeclaration("1.0","utf-8",null); //创建根节点 XmlElement elementRoot =xmlDocument.CreateElement("Nodes"); xmlDocument.AppendChild(elementRoot); //创建节点 Day XmlElement elementDay = xmlDocument.CreateElement("Day"); //给节点Day设置属性,并赋值 elementDay.SetAttribute("date","今天"); elementRoot.AppendChild(elementDay); //创建 Day 的子节点Part XmlElement elementPart = xmlDocument.CreateElement("Part"); elementPart.InnerText = " aaa"; elementDay.AppendChild(elementPart); //保存到 XML 文件件下 xmlDocument.Save("./myXml.xml");
|
xml 生成数据:
<Notes>
<Day date="今天">
<part>aaa</part>
</Day>
</Notes>
2.读写XML文件
代码如下 | 复制代码 |
<?xml version="1.0" encoding="utf-8" ?> <PhoneBook> <phone id="001"> <Name>加菲尔德</Name> <Number>5555555</Number> <City>纽约</City> <DateOfBirth>26/10/1978</DateOfBirth> </phone> <phone id="002"> <Name>迈克</Name> <Number>6666666</Number> <City>纽约</City> <DateOfBirth>12/02/1978</DateOfBirth> </phone> </PhoneBook> ********************************************************************* ·使用Document读取及写入XML方法 private void xmlfun() XmlElement node = doc.CreateElement("phone"); XmlNode xnode = (XmlNode)doc.CreateElement("Name"); xnode = (XmlNode)doc.CreateElement("Number"); doc.Save(Server.MapPath("phone1.xml")); //必须要存为不同的文件 }
|
·使用XmlTextWriter写入XML方法
代码如下 | 复制代码 |
private void xmlwriter() { XmlTextWriter writer= new XmlTextWriter(Server.MapPath("phone4.xml"),null); writer.Formatting = Formatting.Indented; //缩进格式 writer.Indentation =4; writer.WriteStartDocument(); writer.WriteStartElement("Person"); writer.WriteStartAttribute("ID",null); writer.WriteStartElement("Name"); writer.WriteStartElement("Number"); writer.WriteStartElement("City"); writer.Flush(); }
|
·使用XmlTextReader读取XML方法
代码如下 | 复制代码 |
private void xmlread() { XmlTextReader reader = new XmlTextReader(Server.MapPath("phone.xml")); while(reader.Read()) { if(reader.LocalName.Equals("Name") || reader.LocalName.Equals("Number")) { this.Label1.Text += reader.ReadString()+"t"; }
|
·作用SqlCommand.ExecuteXmlReader()取得XML
代码如下 | 复制代码 |
SqlConnecting conn = new SqlConnection(CONNSTR); SqlCommand cmd = new SqlCommand("select fname from employee for xml auto",conn); conn.open(); XmlReader reader = cmd.ExecuteXmlReader(); ...... ################ 所取xml数据格式 ################# <employee fname="aria"/> |
3.查找xml
<Placemark>
<description>Front line</description>
<Name>sole</Name>
<styleUrl>#roadStyle</styleUrl>
<LineString>
<coordinates>
114.0456,22.324
</coordinates>
</LineString>
</Placemark>
如何根据Name的值找到这个Placemark
让后插入数据到
coordinates节点中呢。
代码如下 | 复制代码 |
XmlElement Chid_Elent = Doc.DocumentElement; //得到XML的根节点 if (Chid_Elent.ChildNodes.Count > 0)//如果根节点下有子节点 { foreach (XmlElement Elent in Chid_Elent.ChildNodes)//循环获取节点值 { value=Elent.InnerText;//得到值 Elent.InnerText=vaue; //或者赋值 value为外部变量 } } |
最后save(路径)
4、显示所有数据
代码如下 | 复制代码 |
XmlNode xn=xmlDoc.SelectSingleNode("bookstore"); foreach(XmlNode xnf in xnl) XmlNodeList xnf1=xe.ChildNodes; |
最后附一个C#操作Xml通用工具类
代码如下 | 复制代码 |
using System; using System.Xml; namespace WLerp.Common.Util /// <summary> /// <summary> if (innerValue != null) /// <summary> /// <summary> /// <summary> /// <summary> |