ASPN~~(北京理工大學(xué)出版)-項(xiàng)目六XML、站點(diǎn)導(dǎo)航_第1頁
ASPN~~(北京理工大學(xué)出版)-項(xiàng)目六XML、站點(diǎn)導(dǎo)航_第2頁
ASPN~~(北京理工大學(xué)出版)-項(xiàng)目六XML、站點(diǎn)導(dǎo)航_第3頁
ASPN~~(北京理工大學(xué)出版)-項(xiàng)目六XML、站點(diǎn)導(dǎo)航_第4頁
ASPN~~(北京理工大學(xué)出版)-項(xiàng)目六XML、站點(diǎn)導(dǎo)航_第5頁
已閱讀5頁,還剩58頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

《ASPN~~(北京理工大學(xué)出版)-項(xiàng)目六XML、站點(diǎn)導(dǎo)航

任務(wù)一寫入XML文件【任務(wù)要點(diǎn)】1.掌握XML技術(shù)基本知識2.實(shí)現(xiàn)對XML文檔的寫操作【案例1】創(chuàng)建基于XML的留言本。運(yùn)行效果如圖6-1所示。用戶輸入姓名、地址、聯(lián)系和留言內(nèi)容后,單擊【保存】按鈕,可以將信息寫入XML文件中?!揪唧w步驟】下一頁返回任務(wù)一寫入XML文件(2)判斷XML文件是否存在,如果不存在,將重新創(chuàng)建一個(gè)新的XML文件。在頁面后臺代碼中,首先引用操作XML和文件的命名空間。(3)寫入XML文件。創(chuàng)建寫入XML文件的方法,參數(shù)包括XML文件的路徑、姓名、地址、和留言內(nèi)容。(4)添加按鈕事件代碼。運(yùn)行程序后,輸入測試數(shù)據(jù),如圖6-2所示。下一頁返回上一頁任務(wù)一寫入XML文件【背景知識】(1)XML文檔的基本組成部分。XML文檔是一種用來描述數(shù)據(jù)并構(gòu)建數(shù)據(jù)的語言。一個(gè)正確的XML文檔以如下的XML聲明開始,該聲明將文檔定義為XML文檔,并指定了文檔內(nèi)容將要符合的XML版本。<?xmlversion="1.0"?>XML聲明還可以包括編碼屬性,用來定義文檔中的字符類型,例如下面的聲明定義了文檔的字符編碼為“utf-8”。<?xmlversion="1.0"encoding="utf-8"?>在XML文檔聲明之后,是文檔的根元素,通常指的是文檔元素。下一頁返回上一頁任務(wù)一寫入XML文件在XML文檔中,文檔元素不是可選的,每個(gè)文檔都必須有一個(gè)。①元素:元素的名稱可以由字母或下畫線開頭,后跟字母、數(shù)字、連字符或下畫線。元素名稱中不允許有空格。②屬性:XML元素允許在元素開始標(biāo)記中使用屬性來添加元素的附加信息,屬性是名稱/值對。(2)XMLWriter創(chuàng)建XML文檔。①開始和結(jié)束文檔。②寫入元素。③寫入屬性。下一頁返回上一頁任務(wù)一寫入XML文件(3)XMLDocument類。在使用XMLDOM解析器的時(shí)候,主要使用XMLDocument類,XMLDocument類派生于XMLNode類,為遍歷和創(chuàng)建節(jié)點(diǎn)提供了所有的功能。①載入XML文檔。XML文檔的載入通過調(diào)用Load()方法來完成,該方法讀取XML數(shù)據(jù)并填充文檔樹結(jié)構(gòu)。②創(chuàng)建和添加節(jié)點(diǎn)。為了在文檔中添加新的節(jié)點(diǎn),必須首先用XMLDocument類的工廠方法來創(chuàng)建新的節(jié)點(diǎn),然后將其添加到文檔中。這些方法都以“Create”開始,并以創(chuàng)建的節(jié)點(diǎn)類型結(jié)尾。常用的Create方法見表6-1。下一頁返回上一頁任務(wù)一寫入XML文件③尋找節(jié)點(diǎn)。DOM提供的尋找特定節(jié)點(diǎn)的方法包括GetElementByTagName(),GetElementById(),SelectNodes()和SelectSingleNode()。GetElementByTagName()方法返回一個(gè)包含了對具有給定名稱的節(jié)點(diǎn)的引用XmlNodeList。GetElementById()方法返回找到具有指定ID屬性的第一個(gè)節(jié)點(diǎn)。SelectNodes()方法返回一個(gè)XmlNodeList,包含了對匹配XPath表達(dá)式的節(jié)點(diǎn)的引用。SelectSingleNode()方法返回第一個(gè)匹配XPath表達(dá)式的節(jié)點(diǎn)的引用。返回上一頁任務(wù)二讀取XML文件【任務(wù)要點(diǎn)】實(shí)現(xiàn)對XML文檔的讀操作。【案例1】瀏覽留言本數(shù)據(jù)的XML文件。運(yùn)行效果如圖6-3所示。【具體步驟】(1)創(chuàng)建讀取XML文件的方法(2)添加Page_Load事件代碼(3)在頁面添加調(diào)用后臺類屬性的代碼下一頁返回任務(wù)二讀取XML文件【背景知識】XMLReader讀取XML文件。XMLReader提供了對XML文件內(nèi)容的快速、只向前訪問,但不提供對文檔內(nèi)容和結(jié)構(gòu)的修改。XMLReader類從文件的頂部開始讀取數(shù)據(jù),每次讀取一個(gè)節(jié)點(diǎn),讀取完該節(jié)點(diǎn)后,可以忽略該節(jié)點(diǎn)。使XMLReader步驟如下:①使用XMLReader類的Create()方法創(chuàng)建該類的一個(gè)實(shí)例,并將被讀取的XML文件名稱作為參數(shù)傳入方法;②建立一個(gè)反復(fù)調(diào)用的Read()方法循環(huán),這個(gè)方法從文件的第一個(gè)節(jié)點(diǎn)開始,然后讀取余下的所有節(jié)點(diǎn),但是每次只能讀取一個(gè)節(jié)點(diǎn);③在這個(gè)循環(huán)中,將檢查XMLReader對象的屬性和方法,以便獲得當(dāng)前節(jié)點(diǎn)的信息,直到Read()返回False。下一頁返回上一頁任務(wù)二讀取XML文件XMLReader類具有大量的屬性和方法,表6-2和表6-3列出了XMLReader類常用的屬性和方法。返回上一頁任務(wù)三SiteMapPath控件的使用【任務(wù)要點(diǎn)】1.SiteMapPath控件的屬性介紹2.使用SiteMapPath控件【案例1】創(chuàng)建一個(gè)基于SiteMapPath的門戶網(wǎng)站導(dǎo)航,具體導(dǎo)航結(jié)構(gòu)如圖6-5所示。【具體步驟】(1)創(chuàng)建SiteMap文件。首先右擊網(wǎng)站,從彈出的快捷菜單中選擇【添加新項(xiàng)】命令,在彈出的對話框中選擇【站點(diǎn)地圖】選項(xiàng),如圖6-6所示。在【名稱】文本框內(nèi)輸入站點(diǎn)地圖的名稱。下一頁返回任務(wù)三SiteMapPath控件的使用(2)根據(jù)導(dǎo)航菜單修改SiteMap文件(3)在頁面中添加SiteMapPath控件,SiteMapPath控件會(huì)自動(dòng)工作,不需要用戶參與,只需要把控件拖放到頁面,就會(huì)自動(dòng)創(chuàng)建面包屑導(dǎo)航系統(tǒng)。創(chuàng)建一個(gè)名稱為“Inland.aspx”的頁面,在頁面上添加一個(gè)SiteMapPath控件,此時(shí)將在頁面上自動(dòng)生成一個(gè)面包屑導(dǎo)航,如圖6-7所示。在默認(rèn)情況下,SiteMapPath使用“>”作為鏈接元素的分隔符,如果修改為其他符號,則通過修改PathSeparator屬性,選中SiteMapPath控件后,在屬性欄中修改PathSeparator屬性,如圖6-8所示。運(yùn)行程序后,結(jié)果如圖6-9所示。下一頁返回上一頁任務(wù)三SiteMapPath控件的使用【背景知識】(1)SiteMap文件結(jié)構(gòu)。SiteMap文件其實(shí)就是一個(gè)XML文件,這個(gè)XML文件的根結(jié)點(diǎn)是<sitemap>元素,該文件只能有一個(gè)<sitemap>元素,在<sitemap>元素中,有一個(gè)<siteMapNode>元素,這個(gè)元素一般是應(yīng)用程序的起始頁面,對于<siteMapNode>元素的常見屬性見表6-4。(2)SiteMapPath控件的常見屬性。1)PathDirection屬性PathDirection屬性主要用于改變輸出鏈接的方向,這個(gè)屬性只有兩個(gè)值:RootToCurrent和CurrentToRoot。這個(gè)屬性默認(rèn)設(shè)置是RootToCurrent,如果將PathDirection屬性修改為CurrentToRoot,則程序運(yùn)行結(jié)果如圖6-10所示。2)ParentLevelsDisplayed屬性下一頁返回上一頁任務(wù)三SiteMapPath控件的使用在有些情況下,導(dǎo)航系統(tǒng)的深度比較深,此時(shí)在頁面上顯示非常長的導(dǎo)航列表,在這種情況下,可以使用SiteMapPath控件的ParentLevelsDisplayed屬性,該屬性設(shè)置后,會(huì)只顯示指定深度的頁面。具體設(shè)置如圖6-11所示。當(dāng)設(shè)置ParentLevelsDisplayed屬性值為1時(shí),運(yùn)行程序效果如圖6-12所示。返回上一頁任務(wù)四TreeView控件的使用【任務(wù)要點(diǎn)】1.認(rèn)識TreeView2.使用TreeView控件綁定XML【案例1】創(chuàng)建一個(gè)基于TreeView的電腦產(chǎn)品分類導(dǎo)航,運(yùn)行效果如圖6-13所示。【具體步驟】(1)創(chuàng)建XML數(shù)據(jù)文件。首先右擊網(wǎng)站,從彈出的快捷菜單中選擇【添加新項(xiàng)】命令,在彈出的對話框中選擇【XML文件】選項(xiàng),如圖6-14。在【名稱】文本框內(nèi)輸入XML數(shù)據(jù)文件名稱“product.xml”。下一頁返回任務(wù)四TreeView控件的使用(2)創(chuàng)建XmlDataSource數(shù)據(jù)源。XmlDataSource提供了綁定XML文檔的一種簡單方式。首先在創(chuàng)建的窗體文件“Default.aspx”頁面中添加XmlDataSource控件,用鼠標(biāo)選擇XmlDataSource控件后,選擇【配置數(shù)據(jù)源】選項(xiàng),如圖6-15所示。選擇【配置數(shù)據(jù)源】選項(xiàng)后,彈出【配置數(shù)據(jù)源】對話框,在數(shù)據(jù)文件輸入框內(nèi)選擇剛創(chuàng)建的XML數(shù)據(jù)文件“product.xml”,如圖6-16所示,選擇數(shù)據(jù)文件完成后,單擊【確定】按鈕完成XmlDataSource數(shù)據(jù)源的配置。(3)TreeView控件綁定XmlDataSource數(shù)據(jù)源。在默認(rèn)頁面上,添加一個(gè)TreeView控件,用鼠標(biāo)選中此控件,單擊右上角的黑色箭頭按鈕,在彈出的對話框中,在【選擇數(shù)據(jù)源】的下拉列表框中選擇創(chuàng)建的XmlDataSource的名稱“XmlDataSource1”,如圖6-17所示。下一頁返回上一頁任務(wù)四TreeView控件的使用設(shè)置后,TreeView控件將顯示為如圖6-18所示的效果。在默認(rèn)情況下,將XML文檔中的所有元素顯示在TreeView中,由于在XML文件中通過XML元素的屬性和內(nèi)容設(shè)置,所以必須對TreeView的綁定進(jìn)行設(shè)置。用鼠標(biāo)選中此控件,單擊右上角的黑色箭頭按鈕,在彈出的對話框中選擇【編輯TreeNode數(shù)據(jù)綁定】選項(xiàng)。選擇【編輯TreeNode數(shù)據(jù)綁定】選項(xiàng)后,彈出【TreeViewDataBingding編輯器】對話框,選擇需要重新綁定的節(jié)點(diǎn),單擊【添加】按鈕,此時(shí)可以配置節(jié)點(diǎn)的詳細(xì)信息。下一頁返回上一頁任務(wù)四TreeView控件的使用添加完數(shù)據(jù)綁定字段后,選中字段,此時(shí)將在右邊顯示數(shù)據(jù)綁定的屬性,一般情況下只需要設(shè)置“TextField”屬性和“ValueField”屬性,在設(shè)置的時(shí)候,可以選擇XML元素的屬性或者元素的文本值。設(shè)置完成后,運(yùn)行程序后TreeView控件將顯示為如圖6-21所示效果。(4)定制TreeView控件的圖標(biāo)。在默認(rèn)情況下,TreeView控件連接節(jié)點(diǎn)的圖標(biāo)是【+】和【-】,也可以通過修改TreeView的“CollapseImageUrl”、“ExpandImageUrl”和“LeafNodeStyle”屬性,來修改連接節(jié)點(diǎn)的圖標(biāo)。設(shè)置完成后,運(yùn)行程序效果如圖6-23所示。TreeView控件包含的屬性見表6-5,這些屬性可以為控件的節(jié)點(diǎn)指定自己的圖像。下一頁返回上一頁任務(wù)四TreeView控件的使用【案例2】通過編程控制TreeView控件的展開與折疊,具體效果如圖6-24所示。在以上的操作中,主要通過配置XML數(shù)據(jù)源的方式來配置TreeView控件,在實(shí)際應(yīng)用過程中,可能要通過程序代碼來控制?!揪唧w步驟】(1)在默認(rèn)的Default.aspx頁面中添加兩個(gè)按鈕和一個(gè)TreeView控件,修改相應(yīng)的屬性,一個(gè)按鈕實(shí)現(xiàn)展開TreeView控件的所有節(jié)點(diǎn),另外一個(gè)按鈕實(shí)現(xiàn)折疊TreeView控件。在頁面的調(diào)入時(shí)間中添加代碼,實(shí)現(xiàn)建樹功能。下一頁返回上一頁任務(wù)四TreeView控件的使用(2)對指定節(jié)點(diǎn)進(jìn)行操作。在上面的操作中實(shí)現(xiàn)對TreeView進(jìn)行折疊和展開,那么如何實(shí)現(xiàn)對指定節(jié)點(diǎn)進(jìn)行展開和折疊呢?可以通過TreeView控件中有一個(gè)FindNode()方法來實(shí)現(xiàn)。程序運(yùn)行效果如圖6-25所示。返回上一頁任務(wù)五Menu控件的使用【任務(wù)要點(diǎn)】1.Menu控件的屬性介紹2.使用Menu控件【案例1】制作某校園網(wǎng)站導(dǎo)航菜單,效果如圖6-26所示。【具體步驟】(1)創(chuàng)建菜單項(xiàng)。在頁面中添加一個(gè)Menu控件,通過右上角智能標(biāo)記菜單中選擇【編輯菜單項(xiàng)】選項(xiàng),如圖6-27所示。選擇此菜單項(xiàng)后,彈出【菜單項(xiàng)編輯器】對話框,如圖6-28所示。編輯完成后,在默認(rèn)情況下,菜單將顯示為如圖6-29所示的效果。下一頁返回任務(wù)五Menu控件的使用(2)修改菜單項(xiàng)的樣式。①首先創(chuàng)建一個(gè)樣式文件“style.css”在頁面的前臺Html代碼中鏈接Style.css文件②創(chuàng)建LevelMenuItemStyles。在樣式文件中主要定義了三個(gè)樣式,分別定義了第一層菜單項(xiàng)、第二層菜單項(xiàng)和鼠標(biāo)在菜單項(xiàng)上懸浮時(shí)的樣式。定義完樣式后,修改Menu控件的“LevelMenuItemStyles”屬性,如圖6-30所示。單擊【選擇】按鈕,彈出【MenuItemStyles集合編輯器】對話框,首先單擊【添加】按鈕,添加菜單項(xiàng)的樣式“MenuItemStyle”,根據(jù)菜單的層次,選擇對應(yīng)的CssClass,如圖6-31所示。下一頁返回上一頁任務(wù)五Menu控件的使用③設(shè)置HoverStyle。由于在Menu控件屬性中,包含了DynamicHoverStyle和StaticHoverStyle。DynamicHoverStyle主要設(shè)置彈出的動(dòng)態(tài)菜單在鼠標(biāo)懸浮狀態(tài)下的樣式,StaticHoverStyle主要設(shè)置在默認(rèn)情況下菜單在鼠標(biāo)懸浮狀態(tài)下的樣式,可以通過操作來區(qū)分它們。首先,設(shè)置DynamicHoverStyle下面的CssClass值為“hover”,如圖6-32所示。設(shè)置完成后,運(yùn)行效果如圖6-33所示。④設(shè)置鏈接。在菜單項(xiàng)編輯器中,選擇菜單項(xiàng),在右邊的屬性欄中,直接設(shè)置“NavigateUrl”屬性為相應(yīng)的頁面即可,如圖6-36所示。下一頁返回上一頁任務(wù)五Menu控件的使用【背景知識】(1)Menu控件的StaticDisplayLevels屬性。StaticDisplayLevels屬性用來設(shè)置靜態(tài)顯示多少層菜單項(xiàng)。如果有四層菜單項(xiàng),并且StaticDisplayLevels屬性設(shè)置為3,則靜態(tài)顯示前三層,動(dòng)態(tài)顯示最后一層菜單項(xiàng)。(2)控制菜單的外觀。若要控制菜單的靜態(tài)部分的外觀,可以在名稱中使用包含單詞“Static”的樣式屬性:①StaticMenuStyle;②StaticMenuItemStyle;③StaticSelectedStyle;④StaticHoverStyle。下一頁返回上一頁任務(wù)五Menu控件的使用若要控制菜單的動(dòng)態(tài)部分的外觀,可以在名稱中使用包含單詞“Dynamic”的樣式屬性:①DynamicMenuStyle;②DynamicMenuItemStyle;③DynamicSelectedStyle;④DynamicHoverStyle。(3)菜單層。控制菜單項(xiàng)的外觀的另一種方法是單獨(dú)設(shè)置菜單結(jié)構(gòu)中每層的樣式。Menu控件具有多個(gè)充當(dāng)樣式集合的屬性,這意味著這些屬性可以包含菜單結(jié)構(gòu)的每層的樣式信息。可用于指定每層外觀的樣式屬性在其名稱中包含單詞“Level”:①LevelMenuItemStyles;②LevelSubMenuStyles;③LevelSelectedStyles。下一頁返回上一頁任務(wù)五Menu控件的使用(4)使用數(shù)據(jù)源。Menu控件與TreeView控件一樣,也可以綁定到其他數(shù)據(jù)源控件上。例如,在前面TreeView中使用的“product.xml”文件,通過創(chuàng)建XmlDataSource數(shù)據(jù)源進(jìn)行綁定,通過

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論