国产毛片午夜福利,国产黄网,国产亚洲天堂,97国产精品

  •  
    采用XML數(shù)據(jù)來(lái)填充ASP表單
    發(fā)布時(shí)間:2008-05-06   瀏覽次數(shù):1184079

    采用XML數(shù)據(jù)來(lái)填充ASP表單

    在本篇文章里,我們會(huì)使用一個(gè)簡(jiǎn)單的Web表單,它會(huì)列出某個(gè)目錄下的一些XML文件。然后,我們會(huì)從這個(gè)目錄里選擇一個(gè)文件,將它發(fā)送到另一個(gè)Web表單里,后

    者會(huì)使用被選中的XML文件來(lái)填充某些文本字段。

    示例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>

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

    以下為引用的內(nèi)容:
    Listing B: sample2.xml

    <Sample>
    <Name>George W. Bush</Name>
    <Address>1600 Pennsylvania Ave NW</Address>
    <City>Washington</City>
    <State>DC</State>
    <Zip>500</Zip>
    <Phone>2-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)建一個(gè)叫做C:\xmldocs的目錄,并將所有三個(gè)示例文件放到這個(gè)目錄下。

    Web表單

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

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

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

    usingSystem.IO;

    然后,找到代碼內(nèi)的Page_Load()方法。你需要將這個(gè)方法編輯成像下面Listing D里的代碼一樣:

    以下為引用的內(nèi)容:
    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)目里添加一個(gè)新的Web表單——ShowData.aspx。在這個(gè)表單里放置六個(gè)文本框,并將其命名為:txtName、txtAddress、txtCity、txtState、txtZip和txtPhone。同樣的,在表單里創(chuàng)建六個(gè)標(biāo)簽,并將其標(biāo)題欄分別命名為Name(姓名)、Address(地址)、City(城市)、State(州)、Zip(郵政編碼)和Phone(電話)。

    雙擊ShowData表單來(lái)啟動(dòng)代碼編輯器。你需要編輯ShowData表單的Page_Load()方法,使其看起來(lái)像Listing E里的一樣:

    以下為引用的內(nèi)容:
    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è)贑#表單例子里所使用的代碼相同。其主要的不同之處在于,我們不再利用按鈕來(lái)調(diào)用這段代碼,而且我們也不再需要使用OpenFileDialog控件來(lái)尋找XML文件。文件名是由SelectFile的Web表單所提供的,這段代碼在ShowData表單被加載的時(shí)候被調(diào)用。

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

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

    立即預(yù)約