Xml 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
顯示未格式化,或使用可延伸樣式表語言轉換 (XSLT) 的 XML 文件。
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 檔的不同 XSL 轉換樣式表單類型。 您可以設定適當的 屬性,以 System.Xml.Xsl.XslCompiledTransform 物件或 XSL 轉換樣式表單檔案格式化 XML 檔。 如果未指定 XSL 轉換樣式表單,則會使用預設格式來顯示 XML 檔。 下表列出指定 XSL 轉換樣式表單的屬性。
屬性 | 描述 |
---|---|
Transform | 使用指定的 System.Xml.Xsl.XslTransform 物件格式化 XML 檔。
注意:System.Xml.Xsl.XslTransform使用 物件需要 Full Trust 許可權。 |
TransformSource | 使用指定的 XSL 轉換樣式表單檔案格式化 XML 檔。 |
注意
XSL 轉換樣式表單是選擇性的。 您不需要設定 Transform 或 TransformSource 屬性。 如果同時設定 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"
/>
建構函式
Xml() |
初始化 Xml 類別的新執行個體。 |
屬性
Adapter |
針對控制項取得瀏覽器的特定配置器。 (繼承來源 Control) |
AppRelativeTemplateSourceDirectory |
取得或設定包含了此控制項之 Page 或 UserControl 物件的相對應用程式虛擬目錄。 (繼承來源 Control) |
BindingContainer |
取得包含了此控制項之資料繫結的控制項。 (繼承來源 Control) |
ChildControlsCreated |
取得值,指出是否已經建立伺服器控制項的子控制項。 (繼承來源 Control) |
ClientID |
覆寫 ClientID 屬性,並傳回基底伺服器控制項識別項。 |
ClientID |
取得 ASP.NET 所產生之 HTML 標記的控制項識別碼。 (繼承來源 Control) |
ClientIDMode |
取得或設定用來產生 ClientID 屬性值的演算法。 (繼承來源 Control) |
ClientIDSeparator |
取得字元值,表示在 ClientID 屬性中所使用的分隔字元。 (繼承來源 Control) |
Context |
取得與目前 Web 要求的伺服器控制項關聯的 HttpContext 物件。 (繼承來源 Control) |
Controls |
覆寫 Controls 屬性,並傳回基底 ControlCollection 集合。 |
Controls |
取得 ControlCollection 物件,表示 UI 階層架構中指定之伺服器控制項的子控制項。 (繼承來源 Control) |
DataItemContainer |
如果命名容器實作 IDataItemContainer,則取得命名容器的參考。 (繼承來源 Control) |
DataKeysContainer |
如果命名容器實作 IDataKeysControl,則取得命名容器的參考。 (繼承來源 Control) |
DesignMode |
取得值,指出控制項是否正用於設計介面上。 (繼承來源 Control) |
Document |
已淘汰.
取得或設定顯示於 XmlDocument 控制項中的 Xml。 |
DocumentContent |
設定字串,包含顯示於 Xml 控制項中的 XML 文件。 |
DocumentSource |
取得或設定顯示於 Xml 控制項中的 XML 文件的路徑。 |
EnableTheming |
覆寫 EnableTheming 屬性。 Xml 類別不支援這個屬性。 |
EnableTheming |
取得或設定值,指出佈景主題是否套用至此控制項。 (繼承來源 Control) |
EnableViewState |
取得或設定值,該值表示伺服器控制項是否對要求的用戶端而言保持其檢視狀態,以及它包含的任何子控制項狀態。 (繼承來源 Control) |
Events |
取得控制項事件處理常式委派 (Delegate) 的清單。 這個屬性是唯讀的。 (繼承來源 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 | |
SkinID |
取得或設定要套用至控制項的面板。 (繼承來源 Control) |
TemplateControl |
取得或設定包含了此控制項之樣板的參考。 (繼承來源 Control) |
TemplateSourceDirectory |
取得包含目前伺服器控制項的 Page 或 UserControl 的虛擬目錄。 (繼承來源 Control) |
Transform |
在 XML 文件寫入至輸出資料流之前,取得或設定格式化 XML 文件的 XslTransform 物件。 |
TransformArgumentList |
取得或設定 XsltArgumentList,包含傳遞給樣式表並用於延伸樣式表語言轉換 (XSLT) 的選擇性引數清單。 |
TransformSource |
取得或設定延伸樣式表語言轉換 (XSLT) 樣式表的路徑,該樣式表會在 XML 文件寫入至輸出資料流之前將文件格式化。 |
UniqueID |
取得伺服器控制項唯一的、符合階層架構的識別項。 (繼承來源 Control) |
ValidateRequestMode |
取得或設定值,指出控制項是否對來自瀏覽器的用戶端輸入檢查潛在的危險值。 (繼承來源 Control) |
ViewState |
取得狀態資訊的字典,允許您在相同網頁的多個要求之間,儲存和還原伺服器控制項的檢視狀態。 (繼承來源 Control) |
ViewStateIgnoresCase |
取得值,指出 StateBag 物件是否不區分大小寫。 (繼承來源 Control) |
ViewStateMode |
取得或設定這個控制項的檢視狀態模式。 (繼承來源 Control) |
Visible |
取得或設定值,指出伺服器控制項是否會轉譯為頁面上的 UI。 (繼承來源 Control) |
XPathNavigator |
取得或設定游標模型,用於巡覽和編輯與 Xml 控制項關聯的 XML 資料。 |
方法
事件
DataBinding |
發生於伺服器控制項繫結至資料來源時。 (繼承來源 Control) |
Disposed |
發生於伺服器控制項從記憶體釋放時,這是在要求 ASP.NET 網頁時,伺服器控制項生命週期的最後階段。 (繼承來源 Control) |
Init |
發生於初始化伺服器控制項時,是其生命週期中的第一個步驟。 (繼承來源 Control) |
Load |
發生於載入伺服器控制項至 Page 物件時。 (繼承來源 Control) |
PreRender |
在 Control 物件載入之後但在呈現之前發生。 (繼承來源 Control) |
Unload |
發生於伺服器控制項從記憶體卸載時。 (繼承來源 Control) |
明確介面實作
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) |
擴充方法
FindDataSourceControl(Control) |
傳回與指定之控制項的資料控制項相關聯的資料來源。 |
FindFieldTemplate(Control, String) |
傳回在指定之控制項的命名容器中所指定資料行的欄位樣板。 |
FindMetaTable(Control) |
傳回包含資料控制項的中繼資料表物件。 |