Quantcast
Channel: VITO小舖 - ASP.NET
Viewing all articles
Browse latest Browse all 41

資料來源控制項(2)

$
0
0

XmlDataSource

The XmlDataSource control provides a means to create a binding connection between controls on your page and an XML file. The XML data source control is best used when you wish to bind to XML data that is represented as hierarchical (such as using in the TreeView control).

  • DataFile:定義要繫結至 XmlDataSource控制項的 XML 檔案名稱。
  • Data:這個屬性是 XmlDataSource控制項內部的一個區塊,是用來直接定義 XML 資料用的
  • TransformFile:定義可延伸樣式表語言 (XSL) 檔案 (.xsl) 的名稱。

如果同時設定 DataFileData屬性,則會以 DataFile屬性優先,並且會使用 XML 檔案中的資料,而不是在 Data屬性所指定的 XML 資料。

如果您變更 Data屬性值,則會引發 DataSourceChanged 事件。如果已啟用快取,並變更 Data的值,則快取就會失效。

使用 XmlDataSource 將 Xml 資料載入 GridView

載入 XML 資料

GridView預設支援的 XML 格式如下:







如果 XML 資料如上面格式,只要使用 DataFile屬性指定檔案路徑即可。






轉換 XML 資料

如果 XML 資料如下面格式,則必須藉由 XSLT 檔來轉換格式。





Beverages
Chai
10 boxes x 20 bags
18.0000


Condiments
Aniseed Syrup
12 - 550 ml bottles
10.0000


XSLT (Extensible Stylesheet Language Transformations) is an XML-based language used for the transformation of XML documents into other XML or “human-readable” documents.



version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:msxsl="urn:schemas-microsoft-com:xslt">

omit-xml-declaration="yes"
indent="yes"
standalone="yes" />























要使用這樣格式的 XML 資料,除了使用 DataFile屬性指定 XML 檔案, 還必須將 XSLT 檔案指定給 TransformFile屬性才可以。


DataFile="Products2.xml"
TransformFile="Products2.xsl" >



載入畫面

使用 XmlDataSource 將 Xml 資料載入 TreeView





Beverages
Chai
10 boxes x 20 bags
18.0000


Condiments
Aniseed Syrup
12 - 550 ml bottles
10.0000



xmlns:xsl="http://www.w3.org/1999/XSL/Transform">









Category:



Quantity:



Price:








DataFile="Products3.xml"
TransformFile="Products3.xsl" >









載入畫面

Filtering XML with the XmlDataSource Control

例一

XmlDataSource的提供 XPath屬性,可以用來設定資料來源的篩選條件。

針對上面範例,我們可以使用以下的 XPath表示法來篩選資料。


DataFile="Products2.xml"
TransformFile="Products2.xsl"
XPath="/Products/Product[@Category='Beverages']" >

例二

XPath 的使用方法,會因為資料格式的不同而有所不同,底下範例示範如何篩選一個 XML 資料,並繫結到 TreeView 控制項。





Beverages
Chai
10 boxes x 20 bags
18.0000


Condiments
Aniseed Syrup
12 - 550 ml bottles
10.0000


Condiments
Chef Anton's Cajun Seasoning
48 - 6 oz jars
22.0000


Produce
Uncle Bob's Organic Dried Pears
12 - 1 lb pkgs.
30.0000


Beverages
Guaraná Fantástica
12 - 355 ml cans
4.5000


Beverages
Sasquatch Ale
24 - 12 oz bottles
14.0000


Beverages
Steeleye Stout
24 - 12 oz bottles
18.0000



xmlns:xsl="http://www.w3.org/1999/XSL/Transform">









Category:



Quantity:



Price:








DataFile="Products3.xml"
TransformFile="Products3.xsl"
XPath="/Products/Product[Category='Category: Beverages']" >

NOTE inserting, deleting, modifying, and saving XML data

The XmlDataSource control is typically used when reading XML data. Unlike many of the other data source controls, it does not provide automatic attributes for inserting, deleting, updating, and saving XML data. Instead, you have to write your own custom code if you require this behavior. Please see Chapter 7 for more information on working with XML data in this manner.

SiteMapDataSource

Connecting to Site Navigation Data with SiteMapDataSource

Filtering the Data Shown in the SiteMapDataSource

Sometimes, you might wish to show only a portion of the data in your sitemap data file. The SiteMapDataSource control provides a couple attributes you can use to control the data that is shown.


ShowStartingNode="false"
StartingNodeUrl="WebForm2.aspx"
/>



Viewing all articles
Browse latest Browse all 41

Trending Articles