摘要:利用 XmlDataSource 讀取 XML 並顯示於 Gridview
.Net 提供了很多的方式可以來存取 XML 檔案,包含很重要的 web.config 都可以用 System.Configuration.ConfigurationManager.AppSettings["ConnString"].ToString()來抓取資料庫連線 ConnectionString 的設定值,也可以用「System.Web.Configuration.WebConfigurationManager.AppSettings("xstring")」抓 appsettings 的設定值,那怎麼利用 XmlDataSource 來讀取 XML 檔案呢? 使用元件: 必要檔案: -------------- XML 檔案格式:這是一個格式蠻簡單的XML檔案,內容也都用 Element 來表示 <NewDataSet> PS:謎......我也不知道為何中華郵政要有那些空格! 瞭解了XML檔案的格式後,我們就要用轉換檔 XSL 來描述此XML文件的格式,並決定要匯出哪些欄位的內容。如果是 Element 就用下列格式匯出,如果是 Attribute 就在 <xsl:value-of select="@zipcode"/> 多加@符號。 <?xml version="1.0"?> 註:XSL 的使用範圍並不限於此,他還可以用來把XML轉換成HTML...等等功能(搜尋XSL)。 從上面的XSL檔案,可以看出他用<xsl:for-each select="NewDataSet">方式跑結構性的讀取,若要取出某一 Element或 Attribute ,則用<xsl:attribute name="scoop">方式讀出。 -------------- 拉一拉~點一點~ XmlDataSource 與 Gridview 元件後,便可以不寫一行程式,就將XML檔案以表格的方式呈現了。 Reference:
<zip32>
<zipcode>10070</zipcode>
<city>台北市</city>
<area>中正區 </area>
<road>三元街 </road>
<scoop>雙 48號以下 </scoop>
</zip32>
<zip32>
<zipcode>10667</zipcode>
<city>台北市</city>
<area>大安區 </area>
<road>大安路2段 </road>
<scoop>雙全 </scoop>
</zip32>
</NewDataSet>
<xsl:stylesheet
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">
<xsl:output method="xml"
omit-xml-declaration="yes"
indent="yes"
standalone="yes" />
<xsl:template match="/">
<xsl:for-each select="NewDataSet">
<xsl:element name="NewDataSet">
<xsl:for-each select="zip32">
<xsl:element name="zip32">
<xsl:attribute name="zipcode">
<xsl:value-of select="zipcode"/>
</xsl:attribute>
<xsl:attribute name="city">
<xsl:value-of select="city"/>
</xsl:attribute>
<xsl:attribute name="area">
<xsl:value-of select="area"/>
</xsl:attribute>
<xsl:attribute name="road">
<xsl:value-of select="road"/>
</xsl:attribute>
<xsl:attribute name="scoop">
<xsl:value-of select="scoop"/>
</xsl:attribute>
</xsl:element>
</xsl:for-each>
</xsl:element>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>