xml与ADO的结合
时间:2010-10-04 来源:李新雅
1,xml基础
XML的一种可扩展的标记语言,version:文档符合xml1.0规范,encoding:文档字符编辑, standalone:文档定义是否在一个文件内。
DocumentSource属性:使用字符串来设置xml文档,该属性通常是以声明方式设置,具体方法 是在xml控件的<asp:Xml>标记的开始和结束之间放置文本。
TransformSource:使用指定的xsl转换文件格式化xml文档
DOM:是html和xml文档的编程基础,它采用树形结构将xml文档存储于内存中,同时也定义了 处理执行文档的途径。XmlDocument类实现w3c文档对象模型
在asp.net中创建xml文档的方法:
1, XmlDocument doc = new XmlDocument();
string xml="<catalog>"
+"<cd>"
+"<name>Empire Burlesque</name>"
+"<artist>Bob Dylan</artist>"
+"<country>USA</country>"
+"<company>Columbia</company>"
+"<price>10.90</price>"
+"<year>1985</year>"
+"</cd>"
+ "<name>Greatest Hits</name>"
+ "<artist>Dolly Parton</artist>"
+ "<country>USA</country>"
+ "<company>RCA</company>"
+ "<price>9.90</price>"
+ "<year>1982</year>"
+ "</cd>"
+ "</catalog>";
//从指定的字符串加载XML文档
doc.LoadXml(xml);
//保存文档
doc.Save("D://cd.xml");
Label1.Text = "创建成功";
myXml.DocumentSource = "D://cd.xml"; 2, XmlDocument doc = new XmlDocument();
//加入XML的声明
XmlNode declare = doc.CreateNode(XmlNodeType.XmlDeclaration, "", "");
doc.AppendChild(declare);
//加入一个根元素catalog
XmlElement root = doc.CreateElement("", "catalog", "");
doc.AppendChild(root);
//加入cd元素
XmlElement elem1 = doc.CreateElement("vcd");
root.AppendChild(elem1);
//加入name元素,值为Maggie May
XmlElement node1 = doc.CreateElement("name");
XmlText name = doc.CreateTextNode("Maggie May");
node1.AppendChild(name);
elem1.AppendChild(node1);
//加入artist,值为Rod Stewart
XmlElement node2 = doc.CreateElement("artist");
XmlText artist = doc.CreateTextNode("Rod Stewart");
node2.AppendChild(artist);
elem1.AppendChild(node2);
//加入company元素,值为Pickwick
XmlElement node3 = doc.CreateElement("company");
XmlText company = doc.CreateTextNode("Pickwick");
node3.AppendChild(company);
elem1.AppendChild(node3);
//保存
doc.Save("d:\\vcd.xml");
//重新打开
XmlDocument xmldoc = new XmlDocument();
xmldoc.Load("d:\\vcd.xml");
Label1.Text = "创建成功";
myXml.Document = xmldoc;
2,XmlTextReader和XmlTextWriter
XmlTextReader类读取Xml文档,XmlTextWriter类创建xml文档
1)XmlTextReader读取xml文档:
XmlTextReader tr=new XmlTextReader(Server.MapPath("vcd.xml"));
while(tr.Read()){
switch(tr.NodeType){
//文档声明
case XmlNodeType.XmlDeclaration:
Response.Write(Server.HtmlEncode ("<?"+tr.Name+tr.Value+"?>")+"</br>");
break;
//DOCTYPE
case XmlNodeType.DocumentType:
Response.Write(Server.HtmlEncode ("<!DOCTYPE"+tr.Name+"["+tr.Value+"]")+"</br>");
break;
//元素开始
case XmlNodeType.Element:
Response.Write(Server.HtmlEncode ("<"+tr.Name+">")+"</br>");
break;
//字符数据
case XmlNodeType.Text:
Response.Write(tr.Value+"</br>");
break;
//元素结束
case XmlNodeType.EndElement:
Response.Write(Server.HtmlEncode ("</"+tr.Name+">")+"</br>");
break;
//解释
case XmlNodeType.Comment:
Response.Write(Server.HtmlEncode ("<!--"+tr.Value+"--!>")+"</br>");
break;
case XmlNodeType.Attribute:
Response.Write(Server.HtmlEncode (tr.Name+"="+tr.Value));
break;
}
}
2)用xmlTextWriter写入xml中
XmlTextWriter writer = new
XmlTextWriter("d:\\aaa.xml", System.Text.Encoding.UTF8);
//文档开始
writer.WriteStartDocument();
//根元素
writer.WriteStartElement("users");
//创建元素infor
writer.WriteStartElement("infor");
//为元素infor添加属性
writer.WriteAttributeString("id", "k001");
writer.WriteElementString("name", "李华");
writer.WriteElementString("age", "25");
writer.WriteElementString("email", "
XML的一种可扩展的标记语言,version:文档符合xml1.0规范,encoding:文档字符编辑, standalone:文档定义是否在一个文件内。
DocumentSource属性:使用字符串来设置xml文档,该属性通常是以声明方式设置,具体方法 是在xml控件的<asp:Xml>标记的开始和结束之间放置文本。
TransformSource:使用指定的xsl转换文件格式化xml文档
DOM:是html和xml文档的编程基础,它采用树形结构将xml文档存储于内存中,同时也定义了 处理执行文档的途径。XmlDocument类实现w3c文档对象模型
在asp.net中创建xml文档的方法:
1, XmlDocument doc = new XmlDocument();
string xml="<catalog>"
+"<cd>"
+"<name>Empire Burlesque</name>"
+"<artist>Bob Dylan</artist>"
+"<country>USA</country>"
+"<company>Columbia</company>"
+"<price>10.90</price>"
+"<year>1985</year>"
+"</cd>"
+ "<name>Greatest Hits</name>"
+ "<artist>Dolly Parton</artist>"
+ "<country>USA</country>"
+ "<company>RCA</company>"
+ "<price>9.90</price>"
+ "<year>1982</year>"
+ "</cd>"
+ "</catalog>";
//从指定的字符串加载XML文档
doc.LoadXml(xml);
//保存文档
doc.Save("D://cd.xml");
Label1.Text = "创建成功";
myXml.DocumentSource = "D://cd.xml"; 2, XmlDocument doc = new XmlDocument();
//加入XML的声明
XmlNode declare = doc.CreateNode(XmlNodeType.XmlDeclaration, "", "");
doc.AppendChild(declare);
//加入一个根元素catalog
XmlElement root = doc.CreateElement("", "catalog", "");
doc.AppendChild(root);
//加入cd元素
XmlElement elem1 = doc.CreateElement("vcd");
root.AppendChild(elem1);
//加入name元素,值为Maggie May
XmlElement node1 = doc.CreateElement("name");
XmlText name = doc.CreateTextNode("Maggie May");
node1.AppendChild(name);
elem1.AppendChild(node1);
//加入artist,值为Rod Stewart
XmlElement node2 = doc.CreateElement("artist");
XmlText artist = doc.CreateTextNode("Rod Stewart");
node2.AppendChild(artist);
elem1.AppendChild(node2);
//加入company元素,值为Pickwick
XmlElement node3 = doc.CreateElement("company");
XmlText company = doc.CreateTextNode("Pickwick");
node3.AppendChild(company);
elem1.AppendChild(node3);
//保存
doc.Save("d:\\vcd.xml");
//重新打开
XmlDocument xmldoc = new XmlDocument();
xmldoc.Load("d:\\vcd.xml");
Label1.Text = "创建成功";
myXml.Document = xmldoc;
2,XmlTextReader和XmlTextWriter
XmlTextReader类读取Xml文档,XmlTextWriter类创建xml文档
1)XmlTextReader读取xml文档:
XmlTextReader tr=new XmlTextReader(Server.MapPath("vcd.xml"));
while(tr.Read()){
switch(tr.NodeType){
//文档声明
case XmlNodeType.XmlDeclaration:
Response.Write(Server.HtmlEncode ("<?"+tr.Name+tr.Value+"?>")+"</br>");
break;
//DOCTYPE
case XmlNodeType.DocumentType:
Response.Write(Server.HtmlEncode ("<!DOCTYPE"+tr.Name+"["+tr.Value+"]")+"</br>");
break;
//元素开始
case XmlNodeType.Element:
Response.Write(Server.HtmlEncode ("<"+tr.Name+">")+"</br>");
break;
//字符数据
case XmlNodeType.Text:
Response.Write(tr.Value+"</br>");
break;
//元素结束
case XmlNodeType.EndElement:
Response.Write(Server.HtmlEncode ("</"+tr.Name+">")+"</br>");
break;
//解释
case XmlNodeType.Comment:
Response.Write(Server.HtmlEncode ("<!--"+tr.Value+"--!>")+"</br>");
break;
case XmlNodeType.Attribute:
Response.Write(Server.HtmlEncode (tr.Name+"="+tr.Value));
break;
}
}
2)用xmlTextWriter写入xml中
XmlTextWriter writer = new
XmlTextWriter("d:\\aaa.xml", System.Text.Encoding.UTF8);
//文档开始
writer.WriteStartDocument();
//根元素
writer.WriteStartElement("users");
//创建元素infor
writer.WriteStartElement("infor");
//为元素infor添加属性
writer.WriteAttributeString("id", "k001");
writer.WriteElementString("name", "李华");
writer.WriteElementString("age", "25");
writer.WriteElementString("email", "
相关阅读 更多 +