XmlArrayAttribute.ElementName 속성
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
serialize된 배열에 지정되어 있는 XML 요소의 이름을 가져오거나 설정합니다.
public:
property System::String ^ ElementName { System::String ^ get(); void set(System::String ^ value); };
public string ElementName { get; set; }
member this.ElementName : string with get, set
Public Property ElementName As String
속성 값
serialize된 배열의 XML 요소 이름으로, 기본값은 XmlArrayAttribute가 할당된 멤버의 이름입니다.
예제
다음 예제에서는 항목 배열 Library
을 반환하는 속성 Books
이 포함된 클래스의 Book
인스턴스를 serialize합니다. 이 예제에서는 이 속성을 사용하여 ElementName XML 요소 배열의 이름을 지정하는 대신 Books
이름을 지정 My_Books
합니다.
#using <System.Xml.dll>
#using <System.dll>
using namespace System;
using namespace System::IO;
using namespace System::Xml;
using namespace System::Xml::Serialization;
public ref class Book
{
public:
String^ Title;
String^ Author;
String^ ISBN;
};
public ref class Library
{
private:
array<Book^>^books;
public:
[XmlArray(ElementName="My_Books")]
property array<Book^>^ Books
{
array<Book^>^ get()
{
return books;
}
void set( array<Book^>^value )
{
books = value;
}
}
};
int main()
{
String^ filename = "ArrayExample.xml";
XmlSerializer^ mySerializer = gcnew XmlSerializer( Library::typeid );
TextWriter^ t = gcnew StreamWriter( filename );
XmlSerializerNamespaces^ ns = gcnew XmlSerializerNamespaces;
ns->Add( "bk", "http://wwww.contoso.com" );
Book^ b1 = gcnew Book;
b1->Title = "MyBook Title";
b1->Author = "An Author";
b1->ISBN = "00000000";
Book^ b2 = gcnew Book;
b2->Title = "Another Title";
b2->Author = "Another Author";
b2->ISBN = "0000000";
Library^ myLibrary = gcnew Library;
array<Book^>^myBooks = {b1,b2};
myLibrary->Books = myBooks;
mySerializer->Serialize( t, myLibrary, ns );
t->Close();
}
using System;
using System.IO;
using System.Xml;
using System.Xml.Serialization;
public class Library
{
private Book[] books;
[XmlArray(ElementName="My_Books")]
public Book[] Books
{
get{return books;}
set{books = value;}
}
}
public class Book
{
public string Title;
public string Author;
public string ISBN;
}
public class Run
{
public static void Main()
{
Run test = new Run();
test.WriteBook("ArrayExample.xml");
}
public void WriteBook(string filename)
{
XmlSerializer mySerializer = new XmlSerializer(typeof(Library));
TextWriter t = new StreamWriter(filename);
XmlSerializerNamespaces ns = new XmlSerializerNamespaces();
ns.Add("bk", "http://wwww.contoso.com");
Book b1 = new Book();
b1.Title = "MyBook Title";
b1.Author = "An Author";
b1.ISBN = "00000000";
Book b2 = new Book();
b2.Title = "Another Title";
b2.Author = "Another Author";
b2.ISBN = "0000000";
Library myLibrary = new Library();
Book[] myBooks = {b1,b2};
myLibrary.Books = myBooks;
mySerializer.Serialize(t,myLibrary,ns);
t.Close();
}
}
Option Explicit
Option Strict
Imports System.IO
Imports System.Xml
Imports System.Xml.Serialization
Public Class Library
Private myBooks() As Book
<XmlArray(ElementName := "My_Books")> _
Public Property Books() As Book()
Get
Return myBooks
End Get
Set
myBooks = value
End Set
End Property
End Class
Public Class Book
Public Title As String
Public Author As String
Public ISBN As String
End Class
Public Class Run
Public Shared Sub Main()
Dim test As New Run()
test.WriteBook("ArrayExample.xml")
End Sub
Public Sub WriteBook(ByVal filename As String)
Dim mySerializer As New XmlSerializer(GetType(Library))
Dim t As New StreamWriter(filename)
Dim ns As New XmlSerializerNamespaces()
ns.Add("bk", "http://wwww.contoso.com")
Dim b1 As New Book()
b1.Title = "MyBook Title"
b1.Author = "An Author"
b1.ISBN = "00000000"
Dim b2 As New Book()
b2.Title = "Another Title"
b2.Author = "Another Author"
b2.ISBN = "0000000"
Dim myLibrary As New Library()
Dim myBooks() As Book = {b1, b2}
myLibrary.Books = myBooks
mySerializer.Serialize(t, myLibrary, ns)
t.Close()
End Sub
End Class
설명
ElementName 생성된 XML 요소 이름이 멤버의 식별자와 다를 시기를 지정합니다.
생성된 XML 문서에서 XML 네임스페이스를 사용하여 동일하게 명명된 멤버를 구분하는 한 동일한 ElementName 값을 둘 이상의 멤버로 설정할 수 있습니다. XML 문서에서 네임스페이스를 사용하고 접두사 이름을 만드는 방법에 대한 자세한 내용은 다음을 참조하세요 XmlSerializerNamespaces.