Xml 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
顯示 XML 文件,無需格式化或使用可擴充樣式表語言轉換(XSLT)。
public ref class Xml : System::Web::UI::Control
public class Xml : System.Web.UI.Control
type Xml = class
inherit Control
Public Class Xml
Inherits Control
- 繼承
範例
以下程式碼範例展示了如何從範例 XML 檔案和 XSL 轉換樣式表中建立 XmlDocument 物件 XslTransform 。 這些物件接著被 XML 控制項用來顯示 XML 文件。
<!--
The following example demonstrates how to create XmlDocument and
XslTransform objects from the sample XML and XSL Transform files.
The objects are then used by the Xml control to display the XML
document. Make sure the sample XML file is called People.xml and
the sample XSL Transform file is called Peopletable.xsl.
-->
<%@ Page Language="C#" AutoEventWireup="True" %>
<%@ Import Namespace="System.Xml" %>
<%@ Import Namespace="System.Xml.Xsl" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<script runat="server">
void Page_Load(Object sender, EventArgs e)
{
//<Snippet3>
XmlDocument doc = new XmlDocument();
doc.Load(Server.MapPath("people.xml"));
//</Snippet3>
//<Snippet4>
XslTransform trans = new XslTransform();
trans.Load(Server.MapPath("peopletable.xsl"));
//</Snippet4>
xml1.Document = doc;
xml1.Transform = trans;
}
</script>
<head runat="server">
<title>Xml Class Example</title>
</head>
<body>
<h3>Xml Example</h3>
<form id="form1" runat="server">
<asp:Xml id="xml1" runat="server" />
</form>
</body>
</html>
<!--
For this example to work, paste the following code into a file
named peopletable.xsl. Store the file in the same directory as
your .aspx file.
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/People">
<xsl:apply-templates select="Person" />
</xsl:template>
<xsl:template match="Person">
<table width="100%" border="1">
<tr>
<td>
<b>
<xsl:value-of select="Name/FirstName" />
<xsl:value-of select="Name/LastName" />
</b>
</td>
</tr>
<tr>
<td>
<xsl:value-of select="Address/Street" /><br />
<xsl:value-of select="Address/City" />
,
<xsl:value-of select="Address/State" />
<xsl:value-of select="Address/Zip" />
</td>
</tr>
<tr>
<td>
Job Title: <xsl:value-of select="Job/Title" /><br />
Description: <xsl:value-of select="Job/Description" />
</td>
</tr>
</table>
</xsl:template>
<xsl:template match="bookstore">
<bookstore>
<xsl:apply-templates select="book"/>
</bookstore>
</xsl:template>
<xsl:template match="book">
<book>
<xsl:attribute name="ISBN">
<xsl:value-of select="@ISBN"/>
</xsl:attribute>
<price>
<xsl:value-of select="price"/>
</price>
<xsl:text>
</xsl:text>
</book>
</xsl:template>
</xsl:stylesheet>
-->
<!--
For this example to work, paste the following code into a file
named people.xml. Store the file in the same directory as
your .aspx file.
<?xml version="1.0" encoding="utf-8" ?>
<People>
<Person>
<Name>
<FirstName>Joe</FirstName>
<LastName>Suits</LastName>
</Name>
<Address>
<Street>1800 Success Way</Street>
<City>Redmond</City>
<State>WA</State>
<ZipCode>98052</ZipCode>
</Address>
<Job>
<Title>CEO</Title>
<Description>Wears the nice suit</Description>
</Job>
</Person>
<Person>
<Name>
<FirstName>Linda</FirstName>
<LastName>Sue</LastName>
</Name>
<Address>
<Street>1302 American St.</Street>
<City>Paso Robles</City>
<State>CA</State>
<ZipCode>93447</ZipCode>
</Address>
<Job>
<Title>Attorney</Title>
<Description>Stands up for justice</Description>
</Job>
</Person>
<Person>
<Name>
<FirstName>Jeremy</FirstName>
<LastName>Boards</LastName>
</Name>
<Address>
<Street>34 Palm Avenue</Street>
<City>Waikiki</City>
<State>HI</State>
<ZipCode>98052</ZipCode>
</Address>
<Job>
<Title>Pro Surfer</Title>
<Description>Rides the big waves</Description>
</Job>
</Person>
<Person>
<Name>
<FirstName>Joan</FirstName>
<LastName>Page</LastName>
</Name>
<Address>
<Street>700 Webmaster Road</Street>
<City>Redmond</City>
<State>WA</State>
<ZipCode>98073</ZipCode>
</Address>
<Job>
<Title>Web Site Developer</Title>
<Description>Writes the pretty pages</Description>
</Job>
</Person>
</People>
-->
<!--
The following example demonstrates how to create XmlDocument and
XslTransform objects from the sample XML and XSL Transform files.
The objects are then used by the Xml control to display the XML
document. Make sure the sample XML file is called People.xml and
the sample XSL Transform file is called Peopletable.xsl.
-->
<%@ Page Language="VB" AutoEventWireup="True" %>
<%@ Import Namespace="System.Xml" %>
<%@ Import Namespace="System.Xml.Xsl" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<script runat="server">
Sub Page_Load(sender As Object, e As EventArgs)
'<Snippet3>
Dim doc As XmlDocument = New XmlDocument()
doc.Load(Server.MapPath("people.xml"))
'</Snippet3>
'<Snippet4>
Dim trans As XslTransform = new XslTransform()
trans.Load(Server.MapPath("peopletable.xsl"))
'</Snippet4>
xml1.Document = doc
xml1.Transform = trans
End Sub
</script>
<head runat="server">
<title>Xml Class Example</title>
</head>
<body>
<h3>Xml Example</h3>
<form id="form1" runat="server">
<asp:Xml id="xml1" runat="server" />
</form>
</body>
</html>
<!--
For this example to work, paste the following code into a file
named peopletable.xsl. Store the file in the same directory as
your .aspx file.
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/People">
<xsl:apply-templates select="Person" />
</xsl:template>
<xsl:template match="Person">
<table width="100%" border="1">
<tr>
<td>
<b>
<xsl:value-of select="Name/FirstName" />
<xsl:value-of select="Name/LastName" />
</b>
</td>
</tr>
<tr>
<td>
<xsl:value-of select="Address/Street" /><br />
<xsl:value-of select="Address/City" />
,
<xsl:value-of select="Address/State" />
<xsl:value-of select="Address/Zip" />
</td>
</tr>
<tr>
<td>
Job Title: <xsl:value-of select="Job/Title" /><br />
Description: <xsl:value-of select="Job/Description" />
</td>
</tr>
</table>
</xsl:template>
<xsl:template match="bookstore">
<bookstore>
<xsl:apply-templates select="book"/>
</bookstore>
</xsl:template>
<xsl:template match="book">
<book>
<xsl:attribute name="ISBN">
<xsl:value-of select="@ISBN"/>
</xsl:attribute>
<price>
<xsl:value-of select="price"/>
</price>
<xsl:text>
</xsl:text>
</book>
</xsl:template>
</xsl:stylesheet>
-->
<!--
For this example to work, paste the following code into a file
named people.xml. Store the file in the same directory as
your .aspx file.
<?xml version="1.0" encoding="utf-8" ?>
<People>
<Person>
<Name>
<FirstName>Joe</FirstName>
<LastName>Suits</LastName>
</Name>
<Address>
<Street>1800 Success Way</Street>
<City>Redmond</City>
<State>WA</State>
<ZipCode>98052</ZipCode>
</Address>
<Job>
<Title>CEO</Title>
<Description>Wears the nice suit</Description>
</Job>
</Person>
<Person>
<Name>
<FirstName>Linda</FirstName>
<LastName>Sue</LastName>
</Name>
<Address>
<Street>1302 American St.</Street>
<City>Paso Robles</City>
<State>CA</State>
<ZipCode>93447</ZipCode>
</Address>
<Job>
<Title>Attorney</Title>
<Description>Stands up for justice</Description>
</Job>
</Person>
<Person>
<Name>
<FirstName>Jeremy</FirstName>
<LastName>Boards</LastName>
</Name>
<Address>
<Street>34 Palm Avenue</Street>
<City>Waikiki</City>
<State>HI</State>
<ZipCode>98052</ZipCode>
</Address>
<Job>
<Title>Pro Surfer</Title>
<Description>Rides the big waves</Description>
</Job>
</Person>
<Person>
<Name>
<FirstName>Joan</FirstName>
<LastName>Page</LastName>
</Name>
<Address>
<Street>700 Webmaster Road</Street>
<City>Redmond</City>
<State>WA</State>
<ZipCode>98073</ZipCode>
</Address>
<Job>
<Title>Web Site Developer</Title>
<Description>Writes the pretty pages</Description>
</Job>
</Person>
</People>
-->
備註
本主題內容:
簡介
使用 Xml 控制項顯示 XML 文件內容,無需格式化或使用 XSL 轉換。
XML 資料的指定
要顯示的 XML 文件是透過設定三種屬性之一來指定的。 這三個屬性代表可顯示的不同類型的 XML 文件。 你可以透過設定適當的屬性來顯示 System.Xml.XmlDocument、XML 字串或 XML 檔案。 下表列出了用於指定 XML 文件的屬性。
| 房產 | 說明 |
|---|---|
| Document | 透過 System.Xml.XmlDocument 物件設定 XML 文件。 警告: 這個產業已經過時。 請使用本節列出的其他屬性來設定控制項的 Xml XML 內容。 |
| DocumentContent | 使用 字串設定 XML 文件。
註:此特性通常透過將文字置於控制項的Xml開頭與關閉<asp:Xml>標籤之間,以宣告式方式設定。 |
| DocumentSource | 透過檔案設定 XML 文件。 |
備註
至少有一個 XML 文件屬性必須設定為顯示 XML 文件。 若設定多個 XML 文件屬性,則顯示最後一個屬性集中所參考的 XML 文件。 其他房產的文件則被忽略。
指定 XSL 轉換
你可以選擇性地指定一個 XSL 轉換(XSLT)樣式表,在 XML 文件寫入輸出串流前,透過設定兩個屬性之一來格式化 XML 文件。 這兩個屬性代表可用於格式化 XML 文件的不同類型的 XSL 轉換樣式表。 你可以用 System.Xml.Xsl.XslCompiledTransform 物件或 XSL Transformation 樣式表檔案,透過設定相應屬性來格式化 XML 文件。 若未指定 XSL 轉換樣式表,XML 文件會以預設格式顯示。 下表列出了指定 XSL 轉換樣式表的屬性。
| 房產 | 說明 |
|---|---|
| Transform | 使用指定的 System.Xml.Xsl.XslTransform 物件格式化 XML 文件。
註: 使用 System.Xml.Xsl.XslTransform 物件需要 Full Trust 權限。 |
| TransformSource | 使用 指定的 XSL 轉換樣式表檔案格式化 XML 文件。 |
備註
XSL 轉換樣式表為可選。 你不需要設定 或 TransformTransformSource 屬性。 如果兩個 XSL 轉換樣式表屬性都設定了,最後一個屬性集決定了用哪個 XSL 轉換樣式表來格式化 XML 文件。 另一個屬性則被忽略。
該 Xml 類別也提供該 TransformArgumentList 特性,讓你能提供帶有可選參數的 XSL 轉換樣式表。 參數可以是 XSL 轉換(XSLT)參數或擴充物件。
宣告式語法
<asp:Xml
DocumentSource="uri"
EnableTheming="True|False"
EnableViewState="True|False"
ID="string"
OnDataBinding="DataBinding event handler"
OnDisposed="Disposed event handler"
OnInit="Init event handler"
OnLoad="Load event handler"
OnPreRender="PreRender event handler"
OnUnload="Unload event handler"
runat="server"
SkinID="string"
TransformSource="string"
Visible="True|False"
/>
建構函式
| 名稱 | Description |
|---|---|
| Xml() |
初始化 Xml 類別的新執行個體。 |
屬性
| 名稱 | Description |
|---|---|
| Adapter |
拿到瀏覽器專用的控制器轉接器。 (繼承來源 Control) |
| AppRelativeTemplateSourceDirectory |
取得或設定包含此控制項的 or UserControl 物件的Page應用程式相對虛擬目錄。 (繼承來源 Control) |
| BindingContainer |
取得包含該控制項資料綁定的控制項。 (繼承來源 Control) |
| ChildControlsCreated |
會取得一個值,表示伺服器控制項的子控制項是否已被建立。 (繼承來源 Control) |
| ClientID |
覆寫該 ClientID 屬性並回傳基伺服器控制識別碼。 |
| ClientID |
取得由 ASP.NET 產生的 HTML 標記的控制 ID。 (繼承來源 Control) |
| ClientIDMode |
取得或設定用於產生屬性值 ClientID 的演算法。 (繼承來源 Control) |
| ClientIDSeparator |
會得到一個字元值,代表該屬性中使用 ClientID 的分隔符字元。 (繼承來源 Control) |
| Context |
取得 HttpContext 與伺服器控制項相關聯的物件,用於目前的網頁請求。 (繼承來源 Control) |
| Controls |
覆蓋該 Controls 屬性並回傳基底 ControlCollection 集合。 |
| Controls |
取得 ControlCollection 一個物件,代表 UI 階層中指定伺服器控制項的子控制項。 (繼承來源 Control) |
| DataItemContainer |
如果命名容器實 IDataItemContainer作 。 (繼承來源 Control) |
| DataKeysContainer |
如果命名容器實 IDataKeysControl作 。 (繼承來源 Control) |
| DesignMode |
會獲得一個值,表示是否在設計表面上使用控制項。 (繼承來源 Control) |
| Document |
已淘汰.
在控制鍵中取得或設定 XmlDocument to 顯示 Xml 。 |
| DocumentContent |
會設定一個包含 XML 文件的字串,在控制項中 Xml 顯示。 |
| DocumentSource |
取得或設定 XML 文件的路徑,以顯示在控制項中 Xml 。 |
| EnableTheming |
覆蓋該財產權 EnableTheming 。 這個性質並未被 Xml 類別支持。 |
| EnableViewState |
取得或設定一個值,指示伺服器控制項是否能持久化其視圖狀態,以及其包含的任何子控制項的視圖狀態,給請求端客戶端。 (繼承來源 Control) |
| Events |
會取得一個事件處理代理清單來管理控制。 這個屬性是唯讀的。 (繼承來源 Control) |
| HasChildViewState |
會取得一個值,表示目前伺服器控制項的子控制項是否儲存了任何檢視狀態設定。 (繼承來源 Control) |
| ID |
取得或設定分配給伺服器控制的程式識別碼。 (繼承來源 Control) |
| IdSeparator |
取得用來分離控制識別碼的字元。 (繼承來源 Control) |
| IsChildControlStateCleared |
會取得一個值,表示該控制中所包含的控制是否具有控制狀態。 (繼承來源 Control) |
| IsTrackingViewState |
會得到一個值,表示伺服器控制是否正在儲存對其檢視狀態的變更。 (繼承來源 Control) |
| IsViewStateEnabled |
會取得一個值,表示此控制是否啟用了檢視狀態。 (繼承來源 Control) |
| LoadViewStateByID |
會得到一個值,表示控制項是否參與載入其視圖狀態 ID ,而非索引。 (繼承來源 Control) |
| NamingContainer |
會取得伺服器控制項命名容器的參考,該容器會建立一個獨特的命名空間,用來區分具有相同 ID 屬性值的伺服器控制項。 (繼承來源 Control) |
| Page |
會取得包含 Page 伺服器控制的實例參考。 (繼承來源 Control) |
| Parent |
在頁面控制階層中,會取得伺服器控制項的父控制權的參考。 (繼承來源 Control) |
| RenderingCompatibility |
會得到一個值,指定渲染後的 HTML 會相容的 ASP.NET 版本。 (繼承來源 Control) |
| Site |
當在設計表面渲染時,會取得承載當前控制項的容器資訊。 (繼承來源 Control) |
| SkinID | |
| TemplateControl |
取得或設定包含此控制項的範本參考。 (繼承來源 Control) |
| TemplateSourceDirectory |
取得包含當前伺服器控制權的 or UserControl 虛擬目錄Page。 (繼承來源 Control) |
| Transform |
在XML文件寫入輸出串流前,取得或設定 XslTransform 格式化XML文件的物件。 |
| TransformArgumentList |
取得或設定 a XsltArgumentList ,其中包含一串可選參數,這些參數傳遞給樣式表,並在可擴充樣式表語言轉換(XSLT)中使用。 |
| TransformSource |
取得或設定路徑至一個可擴充樣式表語言轉換(XSLT)樣式表,該格式化 XML 文件後再寫入輸出串流。 |
| UniqueID |
取得伺服器控制的唯一、階層限定的識別碼。 (繼承來源 Control) |
| ValidateRequestMode |
取得或設定一個值,指示控制器是否檢查瀏覽器的客戶端輸入是否有潛在危險的值。 (繼承來源 Control) |
| ViewState |
取得狀態資訊字典,讓你能儲存並還原伺服器控制的多個請求,針對同一頁面。 (繼承來源 Control) |
| ViewStateIgnoresCase |
會得到一個值,表示該物件是否 StateBag 不區分大小寫。 (繼承來源 Control) |
| ViewStateMode |
取得或設定此控制的視圖狀態模式。 (繼承來源 Control) |
| Visible |
取得或設定一個值,指示伺服器控制項是否以 UI 形式呈現在頁面上。 (繼承來源 Control) |
| XPathNavigator |
取得或設定游標模型,用於瀏覽與與控制項相關的 Xml XML 資料。 |
方法
事件
| 名稱 | Description |
|---|---|
| DataBinding |
當伺服器控制項綁定到資料來源時會發生。 (繼承來源 Control) |
| Disposed |
當伺服器控制從記憶體中釋放時發生,這是伺服器控制生命週期中請求 ASP.NET 頁面的最後階段。 (繼承來源 Control) |
| Init |
發生在伺服器控制初始化時,這是其生命週期的第一步。 (繼承來源 Control) |
| Load |
當伺服器控制項載入 Page 物件時會發生。 (繼承來源 Control) |
| PreRender |
發生在物件載入後 Control 但渲染之前。 (繼承來源 Control) |
| Unload |
當伺服器控制項從記憶體卸載時發生。 (繼承來源 Control) |
明確介面實作
| 名稱 | Description |
|---|---|
| IControlBuilderAccessor.ControlBuilder |
關於此成員的描述,請參見 ControlBuilder。 (繼承來源 Control) |
| IControlDesignerAccessor.GetDesignModeState() |
關於此成員的描述,請參見 GetDesignModeState()。 (繼承來源 Control) |
| IControlDesignerAccessor.SetDesignModeState(IDictionary) |
關於此成員的描述,請參見 SetDesignModeState(IDictionary)。 (繼承來源 Control) |
| IControlDesignerAccessor.SetOwnerControl(Control) |
關於此成員的描述,請參見 SetOwnerControl(Control)。 (繼承來源 Control) |
| IControlDesignerAccessor.UserData |
關於此成員的描述,請參見 UserData。 (繼承來源 Control) |
| IDataBindingsAccessor.DataBindings |
關於此成員的描述,請參見 DataBindings。 (繼承來源 Control) |
| IDataBindingsAccessor.HasDataBindings |
關於此成員的描述,請參見 HasDataBindings。 (繼承來源 Control) |
| IExpressionsAccessor.Expressions |
關於此成員的描述,請參見 Expressions。 (繼承來源 Control) |
| IExpressionsAccessor.HasExpressions |
關於此成員的描述,請參見 HasExpressions。 (繼承來源 Control) |
| IParserAccessor.AddParsedSubObject(Object) |
關於此成員的描述,請參見 AddParsedSubObject(Object)。 (繼承來源 Control) |
擴充方法
| 名稱 | Description |
|---|---|
| FindDataSourceControl(Control) |
回傳與指定控制項相關聯的資料來源。 |
| FindFieldTemplate(Control, String) |
回傳指定控制項命名容器中指定欄位的欄位範本。 |
| FindMetaTable(Control) |
回傳包含資料控制項的元值物件。 |