XmlRootAttribute 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
將屬性目標的 XML 串行化控制為 XML 根元素。
public ref class XmlRootAttribute : Attribute
[System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Enum | System.AttributeTargets.Interface | System.AttributeTargets.ReturnValue | System.AttributeTargets.Struct)]
public class XmlRootAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Enum | System.AttributeTargets.Interface | System.AttributeTargets.ReturnValue | System.AttributeTargets.Struct)>]
type XmlRootAttribute = class
inherit Attribute
Public Class XmlRootAttribute
Inherits Attribute
- 繼承
- 屬性
範例
以下範例將 應用 XmlRootAttribute 於一個類別。 屬性指定元素名稱、命名空間,以及該元素是否被限定,若類別被設定為 null,則是否產生該xsi:nil屬性。
using System;
using System.IO;
using System.Xml;
using System.Xml.Schema;
using System.Xml.Serialization;
[XmlRoot(Namespace = "www.contoso.com",
ElementName = "MyGroupName",
DataType = "string",
IsNullable=true)]
public class Group
{
private string groupNameValue;
// Insert code for the Group class.
public Group()
{
}
public Group(string groupNameVal)
{
groupNameValue = groupNameVal;
}
public string GroupName
{
get{return groupNameValue;}
set{groupNameValue = value;}
}
}
public class Test
{
static void Main()
{
Test t = new Test();
t.SerializeGroup();
}
private void SerializeGroup()
{
// Create an instance of the Group class, and an
// instance of the XmlSerializer to serialize it.
Group myGroup = new Group("Redmond");
XmlSerializer ser = new XmlSerializer(typeof(Group));
// A FileStream is used to write the file.
FileStream fs = new FileStream("group.xml",FileMode.Create);
ser.Serialize(fs,myGroup);
fs.Close();
Console.WriteLine(myGroup.GroupName);
Console.WriteLine("Done");
Console.ReadLine();
}
}
Imports System.IO
Imports System.Xml
Imports System.Xml.Schema
Imports System.Xml.Serialization
<XmlRoot(Namespace:="www.contoso.com", _
ElementName:="MyGroupName", _
DataType:="string", _
IsNullable:=True)> _
Public Class Group
Private groupNameValue As String
' Insert code for the Group class.
Public Sub New()
End Sub
Public Sub New(ByVal groupNameVal As String)
groupNameValue = groupNameVal
End Sub
Property GroupName() As String
Get
Return groupNameValue
End Get
Set(ByVal Value As String)
groupNameValue = Value
End Set
End Property
End Class
Public Class Test
Shared Sub Main()
Dim t As Test = New Test()
t.SerializeGroup()
End Sub
Private Sub SerializeGroup()
' Create an instance of the Group class, and an
' instance of the XmlSerializer to serialize it.
Dim myGroup As Group = New Group("Redmond")
Dim ser As XmlSerializer = New XmlSerializer(GetType(Group))
' A FileStream is used to write the file.
Dim fs As FileStream = New FileStream("group.xml", FileMode.Create)
ser.Serialize(fs, myGroup)
fs.Close()
Console.WriteLine(myGroup.GroupName)
Console.WriteLine("Done... Press any key to exit.")
Console.ReadLine()
End Sub
End Class
備註
屬於 XmlRootAttribute 一組屬性,控制物件如何 XmlSerializer 序列化或反序列化。 如需類似屬性的完整清單,請參閱 控制 XML 串行化的屬性。
你可以把它 XmlRootAttribute 套用到類別、結構、列舉或介面上。 你也可以將屬性套用到 XML Web 服務方法的回傳值上。
每個 XML 文件必須有一個包含所有其他元素的單一根元素。 這 XmlRootAttribute 允許你透過設定某些屬性來控制 Root XmlSerializer 元素的產生方式。 例如,透過設定 ElementName 屬性來指定產生的 XML 元素名稱。
欲了解更多屬性的使用資訊,請參閱屬性。
備註
你可以在程式碼中使用這個詞 XmlRoot ,而不是較長 XmlRootAttribute的 。
建構函式
| 名稱 | Description |
|---|---|
| XmlRootAttribute() |
初始化 XmlRootAttribute 類別的新執行個體。 |
| XmlRootAttribute(String) |
初始化該類別的新實例 XmlRootAttribute ,並指定 XML 根元素的名稱。 |
屬性
| 名稱 | Description |
|---|---|
| DataType |
取得或設定 XML 根元素的 XSD 資料型別。 |
| ElementName |
取得或設定由類別Serialize(TextWriter, Object)Deserialize(Stream)和方法產生並辨識XmlSerializer的 XML 元素名稱。 |
| IsNullable |
取得或設定一個值,指示是否XmlSerializer必須將設定為 的 |
| Namespace |
取得或設定 XML 根元素的命名空間。 |
| TypeId |
在衍生類別中實作時,取得這個 Attribute的唯一標識碼。 (繼承來源 Attribute) |
方法
| 名稱 | Description |
|---|---|
| Equals(Object) |
傳回值,這個值表示這個實例是否等於指定的物件。 (繼承來源 Attribute) |
| GetHashCode() |
傳回這個實例的哈希碼。 (繼承來源 Attribute) |
| GetType() |
取得目前實例的 Type。 (繼承來源 Object) |
| IsDefaultAttribute() |
在衍生類別中覆寫時,指出這個實例的值是否為衍生類別的預設值。 (繼承來源 Attribute) |
| Match(Object) |
在衍生類別中覆寫時,傳回值,指出這個實例是否等於指定的物件。 (繼承來源 Attribute) |
| MemberwiseClone() |
建立目前 Object的淺層複本。 (繼承來源 Object) |
| ToString() |
傳回表示目前 物件的字串。 (繼承來源 Object) |
明確介面實作
| 名稱 | Description |
|---|---|
| _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
將一組名稱對應至一組對應的分派識別項 (Dispatch Identifier)。 (繼承來源 Attribute) |
| _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
擷取 物件的型別資訊,可用來取得介面的類型資訊。 (繼承來源 Attribute) |
| _Attribute.GetTypeInfoCount(UInt32) |
擷取物件提供的類型資訊介面數目 (0 或 1)。 (繼承來源 Attribute) |
| _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
提供物件所公開屬性和方法的存取權。 (繼承來源 Attribute) |