XmlRootAttribute Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Управляет 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 класс. Атрибут указывает имя элемента, пространство имен и указывает, является ли элемент квалифицированным, а также указывает, создается ли xsi:nil
атрибут, если класс имеет значение null
.
#using <System.Xml.dll>
#using <System.dll>
using namespace System;
using namespace System::IO;
using namespace System::Xml;
using namespace System::Xml::Schema;
using namespace System::Xml::Serialization;
[XmlRoot(Namespace="www.contoso.com",
ElementName="MyGroupName",
DataType="string",
IsNullable=true)]
public ref class Group
{
private:
String^ groupNameValue;
public:
// Insert code for the Group class.
Group(){}
Group( String^ groupNameVal )
{
groupNameValue = groupNameVal;
}
property String^ GroupName
{
String^ get()
{
return groupNameValue;
}
void set( String^ value )
{
groupNameValue = value;
}
}
};
void SerializeGroup()
{
// Create an instance of the Group class, and an
// instance of the XmlSerializer to serialize it.
Group^ myGroup = gcnew Group( "Redmond" );
XmlSerializer^ ser = gcnew XmlSerializer( Group::typeid );
// A FileStream is used to write the file.
FileStream^ fs = gcnew FileStream( "group.xml",FileMode::Create );
ser->Serialize( fs, myGroup );
fs->Close();
Console::WriteLine( myGroup->GroupName );
Console::WriteLine( "Done" );
Console::ReadLine();
}
int main()
{
SerializeGroup();
}
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.
Каждый XML-документ должен иметь один корневой элемент, содержащий все остальные элементы. Позволяет XmlRootAttribute управлять тем, как XmlSerializer создает корневой элемент, задавая определенные свойства. Например, укажите имя созданного XML-элемента, задав ElementName свойство.
Дополнительные сведения об использовании атрибутов см. в разделе "Атрибуты".
Примечание
Вместо более длинного XmlRootAttributeслова можно использовать слово XmlRoot
в коде.
Конструкторы
XmlRootAttribute() |
Инициализирует новый экземпляр класса XmlRootAttribute. |
XmlRootAttribute(String) |
Инициализация нового экземпляра класса XmlRootAttribute и указывает имя корневого XML-элемента. |
Свойства
DataType |
Возвращает или задает тип данных XSD корневого XML-элемента. |
ElementName |
Возвращает или задает имя XML-элемента, создаваемого и опознаваемого методами XmlSerializer и Serialize(TextWriter, Object) класса Deserialize(Stream). |
IsNullable |
Возвращает или задает значение, которое указывает, должен ли XmlSerializer выполнять сериализацию члена со значением |
Namespace |
Возвращает или задает пространство имен для корневого XML-элемента. |
TypeId |
В случае реализации в производном классе возвращает уникальный идентификатор для этого атрибута Attribute. (Унаследовано от Attribute) |
Методы
Equals(Object) |
Возвращает значение, показывающее, равен ли экземпляр указанному объекту. (Унаследовано от Attribute) |
GetHashCode() |
Возвращает хэш-код данного экземпляра. (Унаследовано от Attribute) |
GetType() |
Возвращает объект Type для текущего экземпляра. (Унаследовано от Object) |
IsDefaultAttribute() |
При переопределении в производном классе указывает, является ли значение этого экземпляра значением по умолчанию для производного класса. (Унаследовано от Attribute) |
Match(Object) |
При переопределении в производном классе возвращает значение, указывающее, является ли этот экземпляр равным заданному объекту. (Унаследовано от Attribute) |
MemberwiseClone() |
Создает неполную копию текущего объекта Object. (Унаследовано от Object) |
ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
Явные реализации интерфейса
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Сопоставляет набор имен соответствующему набору идентификаторов диспетчеризации. (Унаследовано от Attribute) |
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Возвращает сведения о типе объекта, которые можно использовать для получения сведений о типе интерфейса. (Унаследовано от Attribute) |
_Attribute.GetTypeInfoCount(UInt32) |
Возвращает количество предоставляемых объектом интерфейсов для доступа к сведениям о типе (0 или 1). (Унаследовано от Attribute) |
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Предоставляет доступ к открытым свойствам и методам объекта. (Унаследовано от Attribute) |