人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當(dāng)前位置:蘿卜系統(tǒng)下載站 > 技術(shù)開發(fā)教程 > 詳細(xì)頁面

采納XML數(shù)據(jù)來填充ASP表單

采納XML數(shù)據(jù)來填充ASP表單

更新時間:2022-08-04 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):

本文作者Brian Schaffner是富士通咨詢公司的副主任。他為富士通的技術(shù)咨詢公司提供架構(gòu)、設(shè)計(jì)和開發(fā)支持。

在本篇文章里,我們會使用一個簡單的Web表單,它會列出某個目錄下的一些XML文件。然后,我們會從這個目錄里選擇一個文件,將它發(fā)送到另一個Web表單里,后者會使用被選中的XML文件來填充某些文本字段。

示例XML
 
我們的示例XML文檔包含有一組含有基本信息的元素,如Listing A所示:

Listing A: sample.xml
<Sample>
  <Name>John Doe</Name>
  <Address>900 N. Michigan Ave</Address>
  <City>Chicago</City>
  <State>IL</State>
  <Zip>60614</Zip>
  <Phone>630-555-5555</Phone>
</Sample>

為了讓本文的說明更加有趣,我們會再創(chuàng)建兩個含有不同數(shù)據(jù)的示例文件,如Listing B和Listing C所示:

Listing B: sample2.xml

<Sample>
  <Name>George W. Bush</Name>
  <Address>1600 Pennsylvania Ave NW</Address>
  <City>Washington</City>
  <State>DC</State>
  <Zip>20500</Zip>
  <Phone>202-456-1111</Phone>
</Sample>

Listing C: sample3.xml
<Sample>
  <Name>Bill Gates</Name>
  <Address>1 Microsoft Way</Address>
  <City>Redmond</City>
  <State>WA</State>
  <Zip>98052</Zip>
  <Phone>425-882-8080</Phone>
</Sample>

創(chuàng)建一個叫做C:\xmldocs的目錄,并將所有三個示例文件放到這個目錄下。

Web表單
 
我們會為我們的應(yīng)用程序創(chuàng)建兩個Web表單。我們要用第一個表單來選擇XML文件,用第二個表單來顯示XML數(shù)據(jù)。

首先要用Visual Studio .NET創(chuàng)建一個新的ASP.NET Web應(yīng)用程序。然后將最初的表單保存為SelectFile.aspx。如果你雙擊這個表單,代碼編輯器就會被打開。

你首先需要把下面這一行加到代碼的最前面,才能夠?qū)O包添加到你的應(yīng)用程序里:

usingSystem.IO;

然后,找到代碼內(nèi)的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><br>\n");

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

現(xiàn)在向你的項(xiàng)目里添加一個新的Web表單——ShowData.aspx。在這個表單里放置六個文本框,并將其命名為:txtName、txtAddress、txtCity、txtState、txtZip和txtPhone。同樣的,在表單里創(chuàng)建六個標(biāo)簽,并將其標(biāo)題欄分別命名為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":
          txtAddress.Text = xmlReader.ReadString();
          break;
        case "City":
          txtCity.Text = xmlReader.ReadString();
          break;
        case "State":
          txtState.Text = xmlReader.ReadString();
          break;
        case "Zip":
          txtZip.Text = xmlReader.ReadString();
          break;
        case "Phone":
          txtPhone.Text = xmlReader.ReadString();
          break;
      }
    }
  }
}

你還需要把下面這一行加到代碼的最前面,才能夠?qū)ML包添加到你的應(yīng)用程序里:

usingSystem.Xml;

這段代碼在本質(zhì)上同我們在C#表單例子里所使用的代碼相同。其主要的不同之處在于,我們不再利用按鈕來調(diào)用這段代碼,而且我們也不再需要使用OpenFileDialog控件來尋找XML文件。文件名是由SelectFile的Web表單所提供的,這段代碼在ShowData表單被加載的時候被調(diào)用。

我們使用XmlTextReaders Read()方法在XML文檔里迭代。隨著每次對Read()的調(diào)用,我們都會處理另一個XML節(jié)點(diǎn)。我們只用簡單地檢查一下,以確保該節(jié)點(diǎn)是一個元素,然后就可以使用XML元素節(jié)點(diǎn)里的字符串?dāng)?shù)據(jù)來填充我們表格里相應(yīng)的文本框了。

運(yùn)行演示程序
一旦你完成了演示表單的編碼和編譯,你就已經(jīng)準(zhǔn)備好使用它們了。將你的Web瀏覽器指向SelectFile表單。當(dāng)頁面被載入的時候,它就應(yīng)該能夠列出我們先前創(chuàng)建的示例文件了。只用簡單地點(diǎn)擊其中一個文件名,你就會看到數(shù)據(jù)填充在ShowData表單里。

 

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統(tǒng)下載排行

網(wǎng)站地圖xml | 網(wǎng)站地圖html
主站蜘蛛池模板: 铜鼓县| 黄梅县| 磴口县| 石河子市| 天峻县| 台前县| 武宣县| 宜兴市| 沅陵县| 永仁县| 拉萨市| 芦溪县| 旌德县| 天镇县| 文水县| 卢龙县| 汽车| 灵山县| 精河县| 台山市| 内丘县| 开化县| 桃园市| 乐昌市| 乌鲁木齐市| 西吉县| 内丘县| 息烽县| 四子王旗| 兰州市| 敖汉旗| 广饶县| 温宿县| 临夏市| 三门县| 临猗县| 常熟市| 五家渠市| 阿拉尔市| 石渠县| 松潘县|