采用XML数据来填充ASP表单

2016-01-29 18:38 81 1 收藏

采用XML数据来填充ASP表单,采用XML数据来填充ASP表单

【 tulaoshi.com - ASP 】

 

本文作者Brian Schaffner是富士通咨询公司的副主任。他为富士通的技术咨询公司提供架构、设计和开发支持。

在本篇文章里,我们会使用一个简单的Web表单,它会列出某个目录下的一些XML文件。然后,我们会从这个目录里选择一个文件,将它发送到另一个Web表单里,后者会使用被选中的XML文件来填充某些文本字段。

示例XML
 
我们的示例XML文档包含有一组含有基本信息的元素,如Listing A所示:

Listing A: sample.xml
<Sample
  <NameJohn Doe</Name
  <Address900 N. Michigan Ave</Address
  <CityChicago</City
  <StateIL</State
  <Zip60614</Zip
  <Phone630-555-5555</Phone
</Sample

为了让本文的说明更加有趣,我们会再创建两个含有不同数据的示例文件,如Listing B和Listing C所示:

Listing B: sample2.xml

<Sample
  <NameGeorge W. Bush</Name
  <Address1600 Pennsylvania Ave NW</Address
  <CityWashington</City
  <StateDC</State
  <Zip20500</Zip
  <Phone202-456-1111</Phone
</Sample

Listing C: sample3.xml
<Sample
  <NameBill Gates</Name
  <Address1 Microsoft Way</Address
  <CityRedmond</City
  <StateWA</State
  <Zip98052</Zip
  <Phone425-882-8080</Phone
</Sample

创建一个叫做C:xmldocs的目录,并将所有三个示例文件放到这个目录下。

Web表单
 
我们会为我们的应用程序创建两个Web表单。我们要用第一个表单来选择XML文件,用第二个表单来显示XML数据。

首先要用Visual Studio .NET创建一个新的ASP.NET Web应用程序。然后将最初的表单保存为SelectFile.aspx。如果你双击这个表单,代码编辑器就会被打开。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/asp/)

你首先需要把下面这一行加到代码的最前面,才能够将IO包添加到你的应用程序里:

usingSystem.IO;

然后,找到代码内的Page_Load()方法。你需要将这个方法编辑成像下面Listing D里的代码一样:

Listing D: SelectFile'sPage_Load() method
private void Page_Load(object sender, System.EventArgs e) {
  System.IO.DirectoryInfo dir;
  System.IO.FileInfo[] files;
  System.IO.FileInfofinfo;
  System.Collections.IEnumeratorfileEnum;

  dir = new DirectoryInfo ("C:xmldocs");
  files = dir.GetFiles ("*.xml"); 
  fileEnum = files.GetEnumerator();
  Response.Write("Please select the XML file to load: <br<brn");

  while (fileEnum.MoveNext()) {
    finfo = (FileInfo) fileEnum.Current;
    Response.Write("<a href="ShowData.aspx?filename=" + finfo.Name + """ + finfo.Name + "</a<brn");
  }
}

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/asp/)

现在向你的项目里添加一个新的Web表单——ShowData.aspx。在这个表单里放置六个文本框,并将其命名为:txtName、txtAddress、txtCity、txtState、txtZip和txtPhone。同样的,在表单里创建六个标签,并将其标题栏分别命名为Name(姓名)、Address(地址)、City(城市)、State(州)、Zip(邮政编码)和Phone(电话)。

双击ShowData表单来启动代码编辑器。你需要编辑ShowData表单的Page_Load()方法,使其看起来就像Listing E里的一样:

Listing E: ShowData'sPage_Load() method
private void Page_Load(object sender, System.EventArgs e) {
  string filename;
  XmlTextReaderxmlReader;

  filename = "C:xmldocs" + Request.Params.Get("filename");
  xmlReader = new XmlTextReader(filename);

  while (xmlReader.Read()) {
    if (xmlReader.NodeType == XmlNodeType.Element) {
      switch (xmlReader.LocalName) {
        case "Name":
          txtName.Text = xmlReader.ReadString();
          break;
        case "Address":
          txtAddr

来源:http://www.tulaoshi.com/n/20160129/1506706.html

延伸阅读
标签: ASP
  如果你是在你自己的应用程序中使用以上代码,请谨记一件事情,在"ConvertFormtoXML"函数已经运行的情况下,如 果XML文件名已经存在,那么,文件将会被覆盖。在此,我建议在使用"ConvertFormtoXML"功能前,最好用随机建立的文件 名。这样,就将有价值数据被改写的风险降为零。 关于XML文件的产生,举例如下: ...
标签: ASP
       XML和HTML4。0,请读下列示例      将表单数据存为XML格式       通常的,ASP中表单提交的数据一般被写入数据库。然而,如果你想让发送数据更为简便易行,那么,可以将它书写为XML文件格式。这种方式对于在web上收集的数据更为有用。因为XML对于所用平...
标签: ASP
  如你熟知ASP,XML和HTML4。0,请读下列示例 将表单数据存为XML格式 通常的,ASP中表单提交的数据一般被写入数据库。然而,如果你想让发送数据更为简便易行,那么,可以将它书写为 XML文件格式。这种方式对于在web上收集的数据更为有用。因为XML对于所用平台来说非常的简便,所以用不着转换数据格 式。 将提交的数据写为XML文...
标签: ASP
       文档被存档之后,如果你再打开这个文档,那么则会以如下代码列表形式出现:      MyXMLDoc.xml:      <?xml version="1.0"?>   <rootElement>   <childElement1 />   <childElement2 />   </rootE...
标签: ASP
  文档被存档之后,如果你再打开这个文档,那么则会以如下代码列表形式出现: MyXMLDoc.xml: <?xml version="1.0"? <rootElement <childElement1 / <childElement2 / </rootElement 在"MyXMLDoc.xml"文档中,childElement1 和 childElement2 会以空的elements形式出现。如果它们被赋值,那么每...

经验教程

126

收藏

12
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部