- TEL:131 7970 3111
-
慧網(wǎng)微信
- 掃描二維碼
- 關(guān)注邳州在線
-
手機網(wǎng)站
- 手機掃描二維碼
- 進入手機站
網(wǎng)站地圖
付款方式
在本篇文章里,我們會使用一個簡單的Web表單,它會列出某個目錄下的一些XML文件。然后,我們會從這個目錄里選擇一個文件,將它發(fā)送到另一個Web表單里,后
者會使用被選中的XML文件來填充某些文本字段。
示例XML
我們的示例XML文檔包含有一組含有基本信息的元素,如
Listing A所示:
以下為引用的內(nèi)容: 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所示:
以下為引用的內(nèi)容: <Sample> Listing C: sample3.xml |
創(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里的代碼一樣:
以下為引用的內(nèi)容: dir = new DirectoryInfo ("C:\\xmldocs"); while (fileEnum.MoveNext()) { |
現(xiàn)在向你的項目里添加一個新的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里的一樣:
以下為引用的內(nèi)容: filename = "C:\\xmldocs\\" + Request.Params.Get("filename"); while (xmlReader.Read()) { |
你還需要把下面這一行加到代碼的最前面,才能夠?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é)點。我們只用簡單地檢查一下,以確保該節(jié)點是一個元素,然后可以使用XML元素節(jié)點里的字符串?dāng)?shù)據(jù)來填充我們表格里相應(yīng)的文本框了。
運行演示程序
一旦你完成了演示表單的編碼和編譯,你已經(jīng)準(zhǔn)備好使用它們了。將你的Web瀏覽器指向SelectFile表單。當(dāng)頁面被載入的時候,它應(yīng)該能夠列出我們先前創(chuàng)建的示例文件了。只用簡單地點擊其中一個文件名,你會看到數(shù)據(jù)填充在ShowData表單里。