亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

ASP.NETXML文件

2019-11-14 15:46:18
字體:
來源:轉載
供稿:網友

  xml是一種標記語言,具有描述所有已知和未知數據的能力。XML擴展性比較好,可以為新的數據類型制定新的數據描述規則,作為對標記集的擴展。

XML的特點:

  1.XML數據可以跨平臺使用并可以被人閱讀理解。

  2.XML數據的內容和結構有明確的定義。

  3.XML數據之間的關系得以強化。

  4.XML數據的內容和數據的表現形式分離。

  5.XML使用的結構是開放的、可擴展的。

XML文檔的組成:

  1.XML的聲明

    XML標準規定聲明必須放在文檔的第一行,聲明其實也是處理指令的一種。 

    聲明的常用屬性和常用值如下:

      Version1.0,聲明中必須包括此屬性且必須放在第一位,它指定了文檔所采用的XML版本號。

      EncodingGB2312,文檔使用的字符集為簡體中文;

             BIG5,文檔使用的字符集為繁體中文;

      UTF-8,文檔使用的字符集為壓縮的Unicode編碼;

      UTF-16,文檔使用的字符集為UCS編碼。

      Standaloneyes,文檔是獨立文檔,沒有DTD文檔與之配套;

              no,表示可能有DTD文檔為本文檔進行位置聲明。

  2.處理指令PI

    處理XML的應用程序提供信息。

  3.XML元素

    元素是組成XML文檔的核心。XML語法規定每個XML文檔都要包括至少一個根元素。根標記必須是非空標記,包括整個文檔的數據內容,數據內容則是位于標記之間的內容。

文檔類型定義

  文檔類型定義(Document Type Definition,DTD)是一種規范,在DTD中可以向XML的閱讀工具解釋XML文檔標記集中每一個標記的含義。DTD根據其出現的位置可以分為內部DTD和外部DTD兩種。內部DTD是指DTD和相應的XML文檔處在同一個文檔中,外部DTD就是DTDXML文檔處在不同的文檔之中。

  描述DTD文檔也需要一套語法結構,關鍵字是組成語法結構的基礎,構建DTD時常用的關鍵字有:

    1.ANY:數據既可以是純文本也可以是子元素,多用來修飾根元素。

    2.ATTLIST:定義元素的屬性。

    3.DOCTYPE:描述根元素。

    4.ELEMENT:描述所有子元素。

    5.EMPTY:空元素。

    6.SYSTEM:表示使用外部DTD文檔。

    7.#FIXEDATTLIST:定義的屬性的值是固定。

    8.#IMPLIEDATTLIST:定義的屬性不是必須賦值的。

    9.#PCDATA:數據為純文本。

    10.#REQUIREDATTLIST:定義的屬性是必須賦值的。

    11.INCLUDE:表示包括的內容有效。

    12.IGNORE:與INCLUDE相同,表示包括的內容無效。

  DTD提供了一些運算表達式來描述XML文檔中的元素。用AB、C代表XML文檔中的元素,常用的運算表達式如下:

    1.A+:元素A至少出現一次。

    2.A*:元素A可以出現很多次也可以不出現。

    3.A?:元素A出現一次或不出現。

    4.(A B C):元素A、BC之間的間隔是空格,表示它們是無序排列。

    5.(AB,C):元素A、BC之間的間隔是逗號,表示它們是有序排列。

    6.A|B:元素A、B之間是邏輯或的關系。

  雖然DTD能夠對XML文檔結構進行描述,但是它也有如下缺點:

    1.DTA不支持數據類型,而在實際應用中往往會有多種復雜的數據類型。

    2.DTA的標記是固定的,不能擴充標記。

    3.DTA使用不同于XML的獨立性的語法規則。

可擴展樣式語言

  可擴展樣式語言(Extensible Stylesheet Language,XSL),是W3C制定的另一種表現XML文檔的樣式語言。XSLXML的應用,符合XML的語法規范,可以被XML的分析器處理。

  XSL是一種語言,通過對XML文檔進行轉換,然后將轉換的結果表現出來。轉換的過程是根據XML文檔特性運行XSLTXSL Transformation)將XML文檔轉換成帶信息的樹型結構。然后按照FOFormatted Object)分析樹,從而將XML文檔表現出來。

  XSL轉換XML文檔分為二個步驟:建樹和表現樹。建樹可以在服務器端執行,也可以在客戶端執行。在服務器端執行時,把XML文檔轉換成HTML文檔,然后發送到客戶端。而在客戶端執行建樹的話,客戶端必須支持XMLXSL。

  XSL主要用來轉換XML文檔,在商業系統中它可以將XML文檔轉換成可以被各種系統或是應用程序解讀的數據。這非常有利于各種商業系統之間的數據交換。

  XSL就是通過模板將源文件文檔按照模板的格式轉換成結果文檔的。模板定義了一系列的元素來描述源文檔中的數據和屬性等內容,在經過轉換之后,建立樹型結構。

  XSL常用的模板如下:

    1.xsl:apply-import:調用導入的外部模板,可以應用為部分文檔的模板。.

    2.xsl:apply-templates:應用模板,通過selectmode兩個屬性確定要應用的模板。

    3.xsl:attribute:為元素輸出定義屬性節點。

    4.xsl:attribute-set:定義一組屬性節點。

    5.xsl:call-template:調用由call-template指定的模板。

    6.xsl:choose:根據條件調用模板。

    7.xsl:comment:在輸出加入注釋。

    8.xsl:copy:復制當前節點到輸出。

    9.xsl:element:在輸出中創建新元素。

    10.xsl:for-each:循環調用模板匹配每個節點

    11.xsl:if:模板在簡單情況下的條件調用。

    12.xsl:message:發送文本信息給消息緩沖區或消息對話框。

    13.xsl:sort:排序節點。

    14.xsl:stylesheet:指定樣式單。

    15.xsl:template:指定模板。

    16.xsl:value-of:為選定節點加入文本值。

XPath

  XPathXSL的重要組成部分。XPath的作用在于為XML文檔的內容定位,并通過XPath來訪問指定的XML元素。之所以要在XSL中引入XPath的概念,目的就是為了在匹配XML文檔結構樹時能夠準確地找到某一個節點元素。

  XPath提供的節點匹配的方法:

    1.路徑匹配:路徑匹配和文件路徑的表示比較相似,通過一系列的符號來指定路徑。

    2.位置匹配:根據每個元素的子元素都是有序的原則來匹配。

    3.親屬關系匹配:XML是一個樹型結構,因此在匹配時可以利用樹型結構的“父子”關系。

    4.條件匹配:利用一些函數的運算結果的布爾值來匹配符合條件的節點。 

.NET中實現的XML DOM

  XML語言僅僅是是一種信息交換的載體,是一種信息交換的方法。要使用XML文檔必須通過使用接口。DOM是一個程序接口,應用程序和腳本可以通過這個接口訪問和修改XML文檔數據。DOM接口應用程序使得對XML文檔的訪問變得簡單。

  DOM接口定義了一系列對象來實現對XML文檔數據的訪問和修改。DOM接口將XML文檔轉換為樹形的文檔結構,應用程序通過樹形文檔對XML文檔進行層次化的訪問,從而實現了對XML文檔的操作。

  .NET類庫中支持DOM的類分為兩個層次:

    基礎類和擴展類?;A類組包括了用來編寫操縱XML文檔的應用程序所需要的類;擴展類被定義用來簡化程序員的開發工作的類。

    在基礎類中包含了三個類:

      1.XmlNode類用來表示文檔樹中的單個節點,它描述了XML文檔中各種具體節點類型的共性,它是一個抽象類。

      2.XmlNodeList類用來表示一個節點的有序集合,它提供了對迭代操作和索引器的支持。

      3.XmlNamedNodeMap類用來表示一個節點的集合,該集合中的元素可以使用節點名或索引來訪問。

    擴展類中主要包括了以下由XmlNode類派生出來的類:

      1.XmlAttribute:表示一個屬性,此屬性的有效值和默認值在DTD或架構中進行定義。

      2.XmlAttributeCollection:表示屬性集合,這些屬性集合的有效值和默認值在DTD或架構中進行定義。

      3.XmlComment:表示XML文檔的注釋內容。

      4.XmlDocument:表示XML文檔。

      5.XmlDocumentType:表示XMl文檔的DOCTYPE聲明節點。

      6.XmlElement:表示一個元素。

      7.XmlEntity:表示XML文檔中一個解析過或為解析過的實體。

      8.XmlEntityReference:表示一個實體的引用。

      9.XmlLinkedNode:獲取緊靠該節點的節點。

      10.XmlReader:表示提供對XML數據進行快速、非緩存、只進訪問的讀取器。

      11.XmlText:表示元素或屬性的文本值。

      12.XmlTextReader:表示提供對XML數據進行快速、非緩存、只進訪問的讀取器。

      13.XmlTextWriter:表示提供快速、非緩存、只進方法的編寫器,該方法生成包含XML數據。

      14.XmlWriter:表示提供快速、非緩存、只進方法的編寫器,該方法生成包含XML數據。 

  創建XML文檔

    創建XML文檔的方法有兩種:

      1.創建不帶參數的XmlDocument。

        XmlDocument xmlDoc = new XmlDocument();//創建DOM對象

      2. 創建帶參數的XmlDocument。

        System.Xml.XmlDocument doc = new    XmlDocument(xmlNameTable);

  將XML數據讀入文檔

    DOM可以將不同格式的XML讀入內存,這些格式可以是字符串、流、URL、文本讀取器或XmlReader的派生類。讀取的XML數據的方法有兩種:

      1. Load方法,該方法加載指定的XML數據。

        總共包含四個重載函數:

          XmlDocument.Load (Stream):從指定的流加載XML文檔。

          XmlDocument.Load (String):從指定的URL加載XML文檔。     

          XmlDocument.Load (TextReader):從指定的TextReader加載XML文檔。

          XmlDocument.Load (XmlReader):從指定的XmlReader加載XML文檔。

      2.LoadXML方法,該方法從字符串中讀取XML。

  保存XML文檔

    可以使用Save方法保存XML文檔。Save方法有四個重載方法:

      1.Save(string filename):將文檔保存到文件filename的位置。

      2.Save(System.IO.Stream outStream):保存到流outStream中,流的概念存在于文件操作中。

      3.Save(System.IO.TextWriter writer):保存到TextWriter中,TextWriter也是文件操作中的一個類。

      4.Save(XmlWriter w):保存到XmlWriter中。

    將XML數據讀入文檔并保存。

      新建項目,在項目中添加如下代碼:

1             XmlDocument document = new XmlDocument();2             document.LoadXml3                 ("<student>"+4                 "<stuNo>001</stuNo>"+5                 "<stuName>韓明</stuName>"+6                 "<Age>20</Age>"+7                 "</student>");8             document.Save (@"C:/Users/light/Desktop/1.xml");
View Code

      運行項目,會在桌面上生成1.xml文件。

  創建新節點

    XmlDocument具有用于所有節點類型的Create方法,XmlDocument常用的創建節點的方法如下:

      1.CreateAttribute:創建具有指定名稱的XmlAttribute。

      2.CreateCDataSection:創建包含指定數據的XmlCDataSection。

      3.CreateComment:創建包含指定數據的XmlComment

      4.CreateDocumentType:返回新的XmlDocumentType對象。

      5.CreateElement:創建XmlElement

      6.CreateEntityReference:創建具有指定名稱的XmlEntityReference。

      7.CreateNode:創建XmlNode

      8.CreateTextNode:創建具有指定文本的XmlText。

    創建新節點后,將新節點插入XML結構樹中的方法如下:

      1.InsertBefore:插入到引用節點之前。

      2.InsertAfter:插入到引用節點之后。

      3.AppendChild:將節點添加到給定節點的子節點列表的末尾。

      4.PRependChild:將節點添加到給定節點的子節點列表的開頭。

      5.Append:將XmlAttribute節點追加到與元素關聯的屬性集合的末尾。

    

    創建節點。

      代碼如下:

 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 using System.Xml; 7  8 namespace Consoleapplication1 9 {10     class Program11     {12         static void Main(string[] args)13         {14             XmlDocument xmlDocument = new XmlDocument();//創建DOM對象15             xmlDocument.Load("Student.xml");//加載XML文檔16             XmlNode root = xmlDocument.SelectSingleNode("//Students");//獲取根節點17             XmlElement xe1 = xmlDocument.CreateElement("Student");//創建一個節點 18 19             XmlElement xesub1 = xmlDocument.CreateElement("name");//創建子節點20             xesub1.InnerText = "吳楠";//設置子節點的數據 21             xe1.AppendChild(xesub1);//添加到節點中 22 23             XmlElement xesub2 = xmlDocument.CreateElement("sex");//創建子節點24             xesub2.InnerText = "";//設置子節點的數據 25             xe1.AppendChild(xesub2);//添加到節點中 26 27             XmlElement xesub3 = xmlDocument.CreateElement("age");//創建子節點28             xesub3.InnerText = "22";//設置子節點的數據 29             xe1.AppendChild(xesub3);//添加到節點中 30 31             root.AppendChild(xe1);//添加到根節點中32             xmlDocument.Save("Student.xml");//保存33             show();34             Console.ReadKey();35         }36         static void show()37         {38             XmlDocument xmlDoc = new XmlDocument();//創建DOM對象39             xmlDoc.Load("Student.xml");//加載XML文檔裝進DOM文檔40             XmlNodeList nodeList;//定義節點列表41             XmlNode root = xmlDoc.DocumentElement;//定義根節點,并把DOM的根節點賦給它42             nodeList = root.SelectNodes("//Student");43             foreach (XmlNode xmlNode in nodeList)//循環訪問結點列表44             {45                 XmlNodeList list = xmlNode.ChildNodes;//獲取book節點下的所有結點46                 foreach (XmlNode xmlNode1 in list)//遍歷子節點47                 {48                     Console.Write(xmlNode1.InnerText);//輸出節點包含的數據49                     Console.Write(" ");50                        }51                 Console.WriteLine(" ");52                   }53         }54     }55 }
View Code

  修改XML文檔

    常用的修改XML文檔的方法如下:

      1.使用XmlNode.Value方法更改節點值。

      2.通過用新節點替換節點來修改全部節點集,可以使用XmlNode.InnerXml屬性完成。

      3.使用XmlNode.ReplaceChild方法用新節點替換現有節點。

      4.使用XmlCharacterData.AppendData方法、XmlCharacterData.InsertData方法或XmlCharacterData.ReplaceData方法將附加字符添加到從XmlCharacter類繼承的節點。

      5.對從XmlCharacterData繼承的節點類型使用DeleteData方法移除某個范圍的字符來修改內容。

      6.使用SetAttribute方法更新屬性值。如果屬性不存在,創建一個新屬性;如果存在,更新屬性值。

  刪除XML文檔的節點、屬性和內容

    刪除節點

      從DOM中移除節點,可以使用RemoveChild方法移除特定的節點。如果所移除的節點不是葉節點,當移除節點時,將移除節點的子樹。

      若要移除多個節點,可以使用RemoveAll方法移除當前節點的所有子級和屬性。

      如果使用XmlNamedNodeMap,也可以使用RemoveNamedItem方法移除節點。

    刪除屬性集合中的屬性

      使用XmlAttributeCollection.Remove方法移除特定屬性;

      使用XmlAttributeCollection.RemoveAll方法移除集合中的所有屬性,使元素不具有任何屬性值;

      使用XmlAttributeCollection.RemoveAt方法使用索引號移除屬性集合中的屬性。

    刪除節點屬性

      使用XmlElement.RemoveAllAttributes移除屬性集合;

      使用XmlElement.RemoveAttribute方法按名稱移除集合中的單個屬性;

      使用XmlElement.RemoveAttributeAt按索引號移除集合中的單個屬性。

    刪除節點內容

      使用DeleteData方法移除字符,該方法從節點中移除某個范圍的。

    

    刪除節點。

      代碼如下:

 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 using System.Xml; 7  8 namespace ConsoleApplication1 9 {10     class Program11     {12         static void Main(string[] args)13         {14             delete();15             show();16             Console.ReadKey();17         }18         static void show()19         {20             XmlDocument xmlDoc = new XmlDocument();//創建DOM對象21             xmlDoc.Load("Student.xml");//加載XML文檔裝進DOM文檔22             XmlNodeList nodeList;//定義節點列表23             XmlNode root = xmlDoc.DocumentElement;//定義根節點,并把DOM的根節點賦給它24             nodeList = root.SelectNodes("//Student");25             foreach (XmlNode xmlNode in nodeList)//循環訪問結點列表26             {27                 XmlNodeList list = xmlNode.ChildNodes;//獲取book節點下的所有結點28                 foreach (XmlNode xmlNode1 in list)//遍歷子節點29                 {30                     Console.Write(xmlNode1.InnerText);//輸出節點包含的數據31                     Console.Write(" ");32                 }33                 Console.WriteLine(" ");34             }35         }36         static void delete()37         {38             try39             {40                 XmlDocument xmlDoc = new XmlDocument();//創建DOM對象41                 xmlDoc.Load("Student.xml");//加載XML文檔裝進DOM文檔42                 XmlNode root = xmlDoc.SelectSingleNode("//Students//Student[name='吳楠']");//獲取根節點43                 if (root != null)44                 {45                     root.ParentNode.RemoveChild(root);//刪除改節點46                     Console.WriteLine("刪除節點成功!");47                 }48                 else49                 {50                     Console.WriteLine("未找到要刪除的節點!");51                 }52                 //root.pRemoveChild();53                 xmlDoc.Save("Student.xml");//保存54             }55             catch(Exception ex)56             {57                 Console.WriteLine(ex.Message.ToString());58             }59             Console.ReadKey();60         }61     }62 }
View Code

  使用XPath導航選擇節點

    使用XPath導航可以方便的查詢DOM中的信息。

    DOM包含的方法允許使用XPath導航查詢DOM中的信息。可以使用XPath查找單個特定節點或查找與某個條件匹配的所有節點。

    DOM類提供兩種XPath選擇方法。SelectSingleNode方法返回符合選擇條件的第一個節點,SelectNodes方法返回包含匹配節點的XmlNodeList。

DatasetXML

  DataSet是基于XML的,具有多種XML特性。DataSet對象和XMLDataDocument對象可以同時操作內存中的同一數據,無論哪個對象對該數據進行修改都會反映到另一對象里面。

  XML數據讀入DataSet對象

    DataSet對象提供了一個名為ReadXmlSchema的方法,利用該方法可以從已經存在的XMLSchema來建立數據模式。ReadXmlSchema方法的重載方法如下:

      1.  ReadXmlSchema(string fileName):從指定的文件讀取XML Schema

1             //使用文件名2             DataSet dataSet = new DataSet();3             dataSet.ReadXmlSchema(Server.MapPath("Student.xml"));
View Code

      2. ReadXmlSchema(System.IO.Stream stream):從流中讀取XML Schema。

1             //使用流對象2             DataSet dataSet = new DataSet();3             System.IO.FileStream fileStream = new System.IO.FileStream("Student.xml", System.IO.FileMode.Open);4             dataSet.ReadXmlSchema(fileStream);5             fileStream.Close();
View Code

      3.  ReadXmlSchema(System.IO.TextReader reader):讀取存在于TextReaderXML Schema。

1             //使用TextReader2             DataSet dataSet = new DataSet();3             //StreamReader是TextReader的派生類4             System.IO.StreamReader streamReader = new System.IO.StreamReader(Server.MapPath("Student.xml"));5             dataSet.ReadXmlSchema(streamReader);6             streamReader.Close();
View Code

      4.  ReadXmlSchema(XmlReader reader):讀取存在于XmlReaderXML Schema。

1             //使用XmlReader2             DataSet dataSet = new DataSet();3             //XmlTextReader是XmlReader的派生類4             System.IO.FileStream fileStream = new System.IO.FileStream("Student.xml", System.IO.FileMode.Open);5             System.Xml.XmlTextReader xmlReader = new System.Xml.XmlTextReader(fileStream);6             dataSet.ReadXmlSchema(xmlReader);7             xmlReader.Close();
View Code

    DataSet對象還提供了一個ReadXml方法來讀取XML文件或流。

    ReadXml方法對于每一種XML數據來源(流、文件、TextReaderXmlReader),都提供了兩種形式的重載函數:

      1.僅包含一個指定XML數據來源的參數。

      2.包含指定XML數據來源的參數和指定讀取數據時生成數據模式Schema的行為。

  DataSet寫出XML數據

    DataSet對象使用一個GetXml方法來將數據導出為一個XML字符串,使用GetXmlSchema方法將數據的組織模式導出為一個XML Schema字符串。

    DataSet還提供了WriteXmlWriteXmlSchema方法來把DataSet對象中的數據和SchemaXML的形式寫出。

  Dom對象與DataSet對象的同步化

    在.NET框架里,程序員可以使用DOM對象和DataSet對象這兩種數據視圖對同一數據進行操作,并且這種操作是同步的。

    .NET框架提供了一個XmlDataDocument類來實現與DataSet對象的同步化。XmlDataDocument類是XmlDocument類的一個派生類,該類不僅可以將XML文檔載入內存中,這些載入內存中的結構化數據可以被DataSet對象獲取和操縱,而且由于XmlDataDocument類是XmlDocument類的派生,它可以應用在任何使用XmlDocument對象的地方。

    當DataSetXmlDataDocument同步時,這兩個對象都可使用同一組數據。這意味著如果對DataSet作出更改,更改將在XmlDataDocument中得到反映,反之亦然。

    使DataSetXmlDataDocument同步,常見的方法如下。

      1. 使用架構(即關系結構)和數據填充 DataSet,然后使其與新 XmlDataDocument 同步。這將提供現有關系數據的分層視圖。

      2. 創建一個新的XmlDataDocument并從XML文檔中加載,然后使用XmlDataDocumentDataSet屬性訪問數據的關系視圖。若要使用DataSet查看mlDataDocument中的數據,需要先設置DataSet的架構。當然,DataSet架構中的表名稱和列名稱必須要與其同步的XML元素的名稱匹配,該匹配區分大小寫。 

XML數據綁定

  asp.net提供了一個XML控件,該控件可以方便地在頁面上顯示XML數據。XML控件具有以下兩個屬性:

    1.DocumentSource:該屬性用來指定要顯示的XML數據文件。

    2.TransformSource:該屬性用來指定轉換XML數據的XSL文件。

  在GridView控件顯示XML數據,可以使用數據源控件XmlDataSource,此控件允許從一個文件讀取XML數據,然后把數據填充到GridView控件中。

  XML控件的使用:

    添加XML文件Student.xml,代碼如下:

 1 <?xml version="1.0" encoding="utf-8" ?> 2 <Students> 3   <Student> 4     <name>李瑩</name> 5     <sex></sex> 6     <age>23</age> 7   </Student> 8   <Student> 9     <name>吳楠</name>10     <sex></sex>11     <age>20</age>12   </Student>13   <Student>14     <name>王宇</name>15     <sex></sex>16     <age>23</age>17   </Student>18 </Students>
View Code

    添加XSL文件style1.xsl,代碼如下:

 1 <?xml version="1.0" encoding="gb2312"?> 2  3 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 4  5   <xsl:template match="Students"> 6     <html> 7       <body> 8         <table> 9           <tr>10             <th>name</th>11             <th>sex</th>12             <th>age</th>13           </tr>14           <xsl:for-each select="Student">15             <tr>16               <td>17                 <xsl:value-of select="name"/>18               </td>19               <td>20                 <xsl:value-of select="sex"/>21               </td>22               <td>23                 <xsl:value-of select="age"/>24               </td>25             </tr>26           </xsl:for-each>27         </table>28       </body>29     </html>30   </xsl:template>31 </xsl:stylesheet>
View Code

    在Form1.aspx中添加XML控件,并設置屬性,代碼如下:

1     <div>2         <asp:Xml ID="Xml1" runat="server" DocumentSource="~/Student.xml" TransformSource="~/style1.xsl">3         </asp:Xml>4     </div>
View Code

  在GridView控件顯示XML數據,可以使用數據源控件XmlDataSource,此控件允許從一個文件讀取XML數據,然后把數據填充到GridView控件中。

    使用XmlDataSource控件把XML數據綁定到GridView控件中:

      添加XML文件Student.xml,代碼如下:

 1 <?xml version="1.0" encoding="utf-8" ?> 2 <Students> 3   <Student> 4     <name>李瑩</name> 5     <sex></sex> 6     <age>23</age> 7   </Student> 8   <Student> 9     <name>吳楠</name>10     <sex></sex>11     <age>20</age>12   </Student>13   <Student>14     <name>王宇</name>15     <sex></sex>16     <age>23</age>17   </Student>18 </Students>
View Code

      在Form1.aspx中添加XmlDataSourceGridView控件,并設置屬性,代碼如下:

 1     <div> 2         <asp:XmlDataSource ID="XmlDataSource1" runat="server" DataFile="~/Student.xml" /> 3         <asp:GridView ID="GridView1" runat="server" DataSourceID="XmlDataSource1" AutoGenerateColumns="false"> 4             <Columns> 5                 <asp:TemplateField HeaderText="姓名"> 6                     <ItemTemplate><%#XPath ("name") %></ItemTemplate> 7                 </asp:TemplateField> 8                 <asp:TemplateField HeaderText="性別"> 9                     <ItemTemplate><%#XPath ("sex") %>></ItemTemplate>10                 </asp:TemplateField>11                 <asp:TemplateField HeaderText="年齡">12                     <ItemTemplate><%#XPath ("age") %>></ItemTemplate>13                 </asp:TemplateField>14             </Columns>15         </asp:GridView>16     </div>
View Code

      使用XmlDataSource控件把XML數據綁定到TreeView控件中:

        添加XML文件Student.xml,代碼如下:

 1 <?xml version="1.0" encoding="utf-8" ?> 2 <Students> 3   <Student> 4     <name>李瑩</name> 5     <sex></sex> 6     <age>23</age> 7   </Student> 8   <Student> 9     <name>吳楠</name>10     <sex></sex>11     <age>20</age>12   </Student>13   <Student>14     <name>王宇</name>15     <sex></sex>16     <age>23</age>17   </Student>18 </Students>
View Code

        在Form1.aspx中添加XmlDataSourceTreeView控件,設置屬性并添加數據綁定,代碼如下:

 1     <div> 2         <asp:XmlDataSource ID="XmlDataSource1" runat="server" DataFile="~/Student.xml" /> 3         <asp:TreeView ID="TreeView1" runat="server" DataSourceID="XmlDataSource1"> 4             <DataBindings> 5                 <asp:TreeNodeBinding DataMember="Students" Text="學生列表" /> 6                 <asp:TreeNodeBinding DataMember="Student" TextField="stuName" /> 7                 <asp:TreeNodeBinding DataMember="sex" TextField="#InnerText" /> 8                 <asp:TreeNodeBinding DataMember="age" TextField="#InnerText" /> 9             </DataBindings>10         </asp:TreeView>11     </div>
View Code


 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
97色在线视频观看| 中文字幕精品—区二区| 欧美理论片在线观看| 色老头一区二区三区在线观看| 国产精品白丝jk喷水视频一区| 欧美黄网免费在线观看| 亚洲午夜性刺激影院| 亚洲欧美激情四射在线日| 国产mv免费观看入口亚洲| 欧美午夜片欧美片在线观看| 俺去了亚洲欧美日韩| 国产精品高清在线| 亚洲国产成人精品一区二区| 成人av在线天堂| 国产精品69久久久久| 国产精品福利无圣光在线一区| 国产成人久久久| 中文字幕久久精品| 国产91成人在在线播放| 日韩国产一区三区| 亚洲人成网站色ww在线| 热久久这里只有精品| 国产精品丝袜久久久久久高清| 日韩av电影国产| 亚洲欧美制服中文字幕| 欧美电影免费观看| 在线看福利67194| 亚洲奶大毛多的老太婆| 欧美另类极品videosbestfree| 国产色综合天天综合网| 日韩中文字幕不卡视频| 美女撒尿一区二区三区| 欧美电影免费观看电视剧大全| 国产欧美一区二区三区四区| 久久网福利资源网站| 国内成人精品一区| 色噜噜狠狠狠综合曰曰曰| 精品欧美国产一区二区三区| 成人做爽爽免费视频| 久久久久久久久久久久久久久久久久av| 亚洲有声小说3d| 中文字幕精品www乱入免费视频| 视频在线观看一区二区| 久久99精品国产99久久6尤物| 精品国产精品自拍| 精品性高朝久久久久久久| 亚洲精品98久久久久久中文字幕| 亚洲精品综合精品自拍| 国产精品久久久久久久久影视| 国产精品久久久久久久久久久久久| 久久久伊人日本| 韩剧1988免费观看全集| 欧美精品手机在线| 亚洲激情第一页| 欧洲s码亚洲m码精品一区| 国语自产精品视频在线看一大j8| 国产精品av在线| 久久国产精品免费视频| 亚洲男人av在线| 欧美激情视频网| 一区二区欧美激情| 国产91色在线播放| 国产精品美女午夜av| 97av视频在线| 亚洲激情国产精品| 日韩精品视频免费在线观看| 亚洲欧美在线一区二区| 欧美成人精品激情在线观看| 日韩免费精品视频| 亚洲自拍偷拍第一页| 日韩中文字幕在线免费观看| 日本久久久久亚洲中字幕| 国产精品久久久久久久久| 日韩在线免费av| 91久热免费在线视频| 九九精品在线视频| 欧洲精品在线视频| 久久免费视频这里只有精品| 欧美最近摘花xxxx摘花| 91经典在线视频| 欧美小视频在线| 97**国产露脸精品国产| 欧美综合国产精品久久丁香| 日韩精品极品在线观看| 日韩最新免费不卡| 色无极影院亚洲| 日韩亚洲国产中文字幕| 精品亚洲aⅴ在线观看| 韩国视频理论视频久久| 成人午夜一级二级三级| 日韩欧美高清在线视频| 久久天天躁狠狠躁夜夜爽蜜月| 日韩精品中文字幕在线播放| 中文字幕精品www乱入免费视频| 亚洲视频网站在线观看| 高清亚洲成在人网站天堂| 91精品国产亚洲| 伊人精品在线观看| 国产不卡av在线免费观看| 91久久嫩草影院一区二区| 亚洲深夜福利在线| 国产精品久久久久久久av电影| 5566日本婷婷色中文字幕97| 亚洲自拍中文字幕| 日韩精品极品视频| 久久久国产一区二区| 亚洲伊人一本大道中文字幕| 欧美日韩亚洲视频| 这里只有精品在线播放| 国产精品久久久久久av福利| 国产v综合ⅴ日韩v欧美大片| 中文字幕国内精品| 91久久精品国产91性色| 青青草99啪国产免费| 日韩精品极品视频免费观看| 欧美成人性色生活仑片| 在线精品高清中文字幕| 欧美激情按摩在线| 在线日韩第一页| 欧美丰满老妇厨房牲生活| 久久久久久亚洲精品| 欧美日韩日本国产| 91午夜在线播放| 国产精品久久久久久久久久99| 亚洲码在线观看| 欧美精品videosex性欧美| 中国日韩欧美久久久久久久久| 欧美日韩国产精品一区| 久久久久久中文| 日韩毛片在线看| 尤物99国产成人精品视频| 国产精品视频免费在线| 欧美在线视频免费播放| 久久久亚洲福利精品午夜| 午夜精品久久久久久久男人的天堂| 国产亚洲视频在线| 亚洲第一男人av| 欲色天天网综合久久| 色哟哟亚洲精品一区二区| 午夜欧美不卡精品aaaaa| 中文字幕精品一区二区精品| 国产精品视频最多的网站| 欧美日韩一区二区免费在线观看| 亚洲成色777777女色窝| 国产精品久久久久久久一区探花| 欧美综合一区第一页| 日韩欧美在线播放| 久久久最新网址| 91亚洲精品久久久久久久久久久久| 亚洲精品之草原avav久久| 日韩a**站在线观看| 在线观看亚洲区| 91av在线视频观看| 久久久欧美一区二区| 国产精品三级网站| 国产亚洲激情视频在线| 欧美激情第一页xxx| 97婷婷大伊香蕉精品视频| 亚洲国产成人精品久久久国产成人一区| 久久偷看各类女兵18女厕嘘嘘| 国产精品视频久久久| 日韩精品极品视频免费观看| 久久亚洲国产精品成人av秋霞| 国外成人免费在线播放|