asp.net考前复习——读写XML数据

准备:参考实验7,建立学生选课数据库,包含stu学生信息表,cdb课程信息表和scdb选课信息表

1dataset-->xml文件,XML架构文件

       建立到数据库的连接,生成数据集。增加并设置datagrid,在页面的load( )方法中填充dataSet

       使用dataSet1.WriteXml("e:\\a.xml");  //路径根据机器设置

注意:要设置相关目录为“可写”。

2、读取XML文件-->dataset

   在页面的load方法或按钮的click方法里,写代码:

   dataSet1.Tables.Clear();

   this.dataSet1.ReadXml(Server.MapPath("a.xml"));   //保证在项目的跟目录里有文件a.xml

  //  使用datagrid,显示数据。最后应进行数据绑定:

   this.DataBind();

 

3、创建嵌套的 XML 数据

1)建立2DataAdapter,分别对应scstudent,填充同一个数据集,填充过程应该是先student表后sc表。

2)代码:

//建立关系

DataColumn dc1=this.dataSet11.student.sidColumn;//学生表

DataColumn dc2=this.dataSet11.sc.sidColumn;//选课表

DataRelation dr=new DataRelation("sre",dc1,dc2);

this.dataSet11.Relations.Add(dr);

 

//在关系的Nested属性为假时,查看XML文件

this.dataSet11.WriteXml("e:\\rexml.xml");

 

//在关系的Nested属性为真时,查看XML文件,注意元素的嵌套关系

this.dataSet11.Relations["FK_sc_student"].Nested=true;

this.dataSet11.WriteXml("e:\\rexml2.xml");

 

4、使用XmlDataDocumentXslTransform进行格式转换

准备:导入命名空间System.XmlSystem.Xml.Xsl; 从工具箱中增加无类型的dataset1

该例子是从XML装入文件,进行格式转换

this.dataSet1.ReadXml("e:\\Employees.xml");

XmlDataDocument xmldoc=new XmlDataDocument(this.dataSet1);

//创建转换对象

XslTransform xslt=new XslTransform();

xslt.Load(@"e:\Employees2.xsl");

 

XmlTextWriter writer=new XmlTextWriter("e:\\x.htm",System.Text.Encoding.UTF8);

 

xslt.Transform(xmldoc,null,writer);

writer.Close();

 

5、使用XPathNavigatorXML文件中进行节点查找

准备:导入命名空间

using System.Xml;

using System.Xml.XPath;

代码:

XPathDocument Doc = new XPathDocument(Server.MapPath("employees.xml"));

XPathNavigator navigator = Doc.CreateNavigator();

XPathNodeIterator iterator =navigator.Select("/employees/employee");

while (iterator.MoveNext())

{

       this.Label1.Text+=iterator.Current.Name.ToString();

       this.Label1.Text+=iterator.Current.Value.ToString()+"\n";

}

6、使用XML Web 服务器控件格式化显示XML文档

在页面上增加XML Web 服务器控件,设置其DocumentSourceTransformSource属性,运行程序,查看显示结果。

7、以内联的方式将XML文件内容包含在XML Web 服务器控件中

在页面上增加XML Web 服务器控件,设置其TransformSource属性。转到HTML模式下,将XML内容放在XML Web 服务器控件标志之间,代码如下:

<asp:Xml id="Xml1" runat="server" TransformSource="Employees2.xsl">

<employees>

       <employee>

              <name>Stuart Munson</name>

              <salary>23500</salary>

              <jobtitle>Programmer</jobtitle>

              <region>Redmond</region>

       </employee>

       <employee>

              <name>Robert Brown</name>

              <salary>51000</salary>

              <jobtitle>Tester</jobtitle>

              <region>Minneapolis</region>

       </employee>

       <employee>

              <name>Carol Philips</name>

              <salary>45000</salary>

              <jobtitle>System Architect</jobtitle>

              <region>Dallas</region>

       </employee>

       <employee>

              <name>James Smith</name>

              <salary>72000</salary>

              <jobtitle>Project Manager</jobtitle>

              <region>Washington D.C.</region>

       </employee>

</employees>

</asp:Xml>

posted @ 2009-12-10 22:52  木由水  阅读(434)  评论(0编辑  收藏  举报