采用XML數據來填充ASP表單_Xml教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:如何建立一個 XML 的開發環境
      學習 XML 的最佳途經是從簡單的開發入手,大膽實踐,循序漸進。XML 的妙處只有在開發過程中才能深入體會,離開了開發是學不好 XML 的。因此學習 XML 首先應該建立一個 XML 的開發環境。我給大家

      在本篇文章里,我們會使用一個簡單的Web表單,它會列出某個目錄下的一些XML文件。然后,我們會從這個目錄里選擇一個文件,將它發送到另一個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>

      為了讓本文的說明更加有趣,我們會再創建兩個含有不同數據的示例文件,如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>

      創建一個叫做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><br>\n");

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

      現在向你的項目里添加一個新的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":
      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;
      }
      }
      }
      }

      你還需要把下面這一行加到代碼的最前面,才能夠將XML包添加到你的應用程序里:

      usingSystem.Xml;

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

      我們使用XmlTextReaders Read()方法在XML文檔里迭代。隨著每次對Read()的調用,我們都會處理另一個XML節點。我們只用簡單地檢查一下,以確保該節點是一個元素,然后就可以使用XML元素節點里的字符串數據來填充我們表格里相應的文本框了。

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

      分享:使用xml作為數據源,讓asp:Menu類自由擴展菜單項
        先新建一個名為menu的xml文件,內容如下: <?xml version=1.0 encoding=utf-8 ?> <menu> <menuItem url=~/Default.aspx title=首頁 description=/>

      來源:模板無憂//所屬分類:Xml教程/更新時間:2008-08-22
      相關Xml教程