采用XML数据来填充ASP表单

地铁站的男孩y

地铁站的男孩y

2016-01-29 18:38

采用XML数据来填充ASP表单,采用XML数据来填充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

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

为了让本文的说明更加有趣,我们会再创建两个含有不同数据的示例文件,如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。如果你双击这个表单,代码编辑器就会被打开。

你首先需要把下面这一行加到代码的最前面,才能够将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");
  }
}

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

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

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

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

展开更多 50%)
分享

猜你喜欢

采用XML数据来填充ASP表单

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

ASP操作XML数据小结

电脑网络
ASP操作XML数据小结

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

使用XML HTTP发送超长XML表单数据

Web开发
使用XML HTTP发送超长XML表单数据

asp取动态表单中数据并写入xml文件,用xsl显示

ASP
asp取动态表单中数据并写入xml文件,用xsl显示

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

使用XSL来显示XML数据

Web开发
使用XSL来显示XML数据

使用XMLHTTP发送超长XML表单数据

Web开发
使用XMLHTTP发送超长XML表单数据

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

VSFTPD服务器架设菜鸟手记

VSFTPD服务器架设菜鸟手记

如何尽快释放掉Connection对象建立的连接?

如何尽快释放掉Connection对象建立的连接?
下拉加载更多内容 ↓