XmlSerializerNamespaces Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
XML belge örneğinde nitelenmiş adlar oluşturmak için kullanılan XML ad alanlarını ve ön eklerini XmlSerializer içerir.
public ref class XmlSerializerNamespaces
public class XmlSerializerNamespaces
type XmlSerializerNamespaces = class
Public Class XmlSerializerNamespaces
- Devralma
-
XmlSerializerNamespaces
Örnekler
Aşağıdaki örnek bir XmlSerializerNamespaces nesne oluşturur ve bu nesneye iki ön ek ve ad alanı çifti ekler. Örnek, nesnesini xml belgesine Serialize seri hale Books
getirerek yöntemine geçirirXmlSerializerNamespaces.
XmlSerializerNamespaces yöntemi nesnesini Serialize kullanarak her XML öğesini ve özniteliğini iki ad alanından biriyle niteler.
#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 Price
{
public:
[XmlAttributeAttribute(Namespace="http://www.cpandl.com")]
String^ currency;
[XmlElement(Namespace="http://www.cohowinery.com")]
Decimal price;
};
[XmlType(Namespace="http://www.cpandl.com")]
public ref class Book
{
public:
[XmlElement(Namespace="http://www.cpandl.com")]
String^ TITLE;
[XmlElement(Namespace="http://www.cohowinery.com")]
Price^ PRICE;
};
public ref class Books
{
public:
[XmlElement(Namespace="http://www.cohowinery.com")]
Book^ Book;
};
public ref class Run
{
public:
static void main()
{
Run^ test = gcnew Run;
test->SerializeObject( "XmlNamespaces.xml" );
}
void SerializeObject( String^ filename )
{
XmlSerializer^ s = gcnew XmlSerializer( Books::typeid );
// Writing a file requires a TextWriter.
TextWriter^ t = gcnew StreamWriter( filename );
/* Create an XmlSerializerNamespaces object and add two
prefix-namespace pairs. */
XmlSerializerNamespaces^ ns = gcnew XmlSerializerNamespaces;
ns->Add( "books", "http://www.cpandl.com" );
ns->Add( "money", "http://www.cohowinery.com" );
// Create a Book instance.
Book^ b = gcnew Book;
b->TITLE = "A Book Title";
Price^ p = gcnew Price;
p->price = (Decimal)9.95;
p->currency = "US Dollar";
b->PRICE = p;
Books^ bks = gcnew Books;
bks->Book = b;
s->Serialize( t, bks, ns );
t->Close();
}
};
int main()
{
Run::main();
}
using System;
using System.IO;
using System.Xml;
using System.Xml.Serialization;
public class Run
{
public static void Main()
{
Run test = new Run();
test.SerializeObject("XmlNamespaces.xml");
}
public void SerializeObject(string filename)
{
XmlSerializer s = new XmlSerializer(typeof(Books));
// Writing a file requires a TextWriter.
TextWriter t = new StreamWriter(filename);
/* Create an XmlSerializerNamespaces object and add two
prefix-namespace pairs. */
XmlSerializerNamespaces ns = new XmlSerializerNamespaces();
ns.Add("books", "http://www.cpandl.com");
ns.Add("money", "http://www.cohowinery.com");
// Create a Book instance.
Book b = new Book();
b.TITLE = "A Book Title";
Price p = new Price();
p.price = (decimal) 9.95;
p.currency = "US Dollar";
b.PRICE = p;
Books bks = new Books();
bks.Book = b;
s.Serialize(t,bks,ns);
t.Close();
}
}
public class Books
{
[XmlElement(Namespace = "http://www.cohowinery.com")]
public Book Book;
}
[XmlType(Namespace ="http://www.cpandl.com")]
public class Book
{
[XmlElement(Namespace = "http://www.cpandl.com")]
public string TITLE;
[XmlElement(Namespace ="http://www.cohowinery.com")]
public Price PRICE;
}
public class Price
{
[XmlAttribute(Namespace = "http://www.cpandl.com")]
public string currency;
[XmlElement(Namespace = "http://www.cohowinery.com")]
public decimal price;
}
Imports System.IO
Imports System.Xml
Imports System.Xml.Serialization
Public Class Run
Public Shared Sub Main()
Dim test As New Run()
test.SerializeObject("XmlNamespaces.xml")
End Sub
Public Sub SerializeObject(ByVal filename As String)
Dim s As New XmlSerializer(GetType(Books))
' Writing a file requires a TextWriter.
Dim t As New StreamWriter(filename)
' Create an XmlSerializerNamespaces object and add two
' prefix-namespace pairs.
Dim ns As New XmlSerializerNamespaces()
ns.Add("books", "http://www.cpandl.com")
ns.Add("money", "http://www.cohowinery.com")
' Create a Book instance.
Dim b As New Book()
b.TITLE = "A Book Title"
Dim p As New Price()
p.price = CDec(9.95)
p.currency = "US Dollar"
b.PRICE = p
Dim bks As New Books()
bks.Book = b
s.Serialize(t, bks, ns)
t.Close()
End Sub
End Class
Public Class Books
<XmlElement(Namespace := "http://www.cohowinery.com")> _
Public Book As Book
End Class
<XmlType(Namespace := "http://www.cpandl.com")> _
Public Class Book
<XmlElement(Namespace := "http://www.cpandl.com")> _
Public TITLE As String
<XmlElement(Namespace := "http://www.cohowinery.com")> _
Public PRICE As Price
End Class
Public Class Price
<XmlAttribute(Namespace := "http://www.cpandl.com")> _
Public currency As String
<XmlElement(Namespace := "http://www.cohowinery.com")> _
Public price As Decimal
End Class
Açıklamalar
, XmlSerializerNamespaces her biri ilişkili ön eke sahip bir XML ad alanı koleksiyonu içerir. bir XmlSerializer XML belgesinde XmlSerializerNamespaces nitelenmiş adlar oluşturmak için sınıfının bir örneğini kullanır.
tarafından XmlSerializerNamespaces kapsanan XML ad alanları , XML'deki Ad Alanları adlı W3C belirtimine uygun olmalıdır.
XML ad alanları, XML belgelerindeki XML öğelerinin ve özniteliklerinin adlarını nitelemenin bir yolunu sağlar. Tam adı bir önek ve virgül ile ayrılmış bir yerel ad oluşur. Önek yalnızca bir yer tutucu olarak işlev görür; bir ad alanı belirten bir URI ile eşleşir. Evrensel olarak yönetilen URI ad alanı ile yerel adın birleşimi, evrensel olarak benzersiz olması garanti edilen bir ad üretir.
XML belgesinde nitelenmiş adlar oluşturmak için:
Örnek XmlSerializerNamespaces oluşturma.
Add örneğine eklemek istediğiniz her ön ek ve ad alanı çifti.
appropriate.NET özniteliğini, xml belgesinde seri hale getiren XmlSerializer her özelliğe veya sınıfa uygulayın. Kullanılabilir öznitelikler şunlardır:
Namespace
Her özniteliğin özelliğini nesneden ad alanı değerlerinden XmlSerializerNamespaces birine ayarlayın.Geçiş XmlSerializerNamespaces için Serialize yöntemi XmlSerializer.
Not
Boş bir ad alanı ve ön ek çiftinin oluşturulması desteklenmez. Yani, aşağıdaki kodu kullanarak bir çift oluşturamazsınız:
XmlSerializerNamespaces ns = new XmlSerializerNamespaces();
ns.Add("", "");
Dim ns As XmlSerializerNamespaces ns = New XmlSerializerNamespaces()
ns.Add("", "")
Oluşturucular
XmlSerializerNamespaces() |
XmlSerializerNamespaces sınıfının yeni bir örneğini başlatır. |
XmlSerializerNamespaces(XmlQualifiedName[]) |
XmlSerializerNamespaces sınıfının yeni bir örneğini başlatır. |
XmlSerializerNamespaces(XmlSerializerNamespaces) |
Ön ek ve ad alanı çiftleri XmlSerializerNamespaces koleksiyonunu içeren belirtilen örneğini kullanarak sınıfının yeni bir örneğini |
Özellikler
Count |
Koleksiyondaki ön ek ve ad alanı çiftlerinin sayısını alır. |
Yöntemler
Add(String, String) |
Bir nesneye ön ek ve ad alanı çifti XmlSerializerNamespaces ekler. |
Equals(Object) |
Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler. (Devralındığı yer: Object) |
GetHashCode() |
Varsayılan karma işlevi işlevi görür. (Devralındığı yer: Object) |
GetType() |
Type Geçerli örneğini alır. (Devralındığı yer: Object) |
MemberwiseClone() |
Geçerli Objectöğesinin sığ bir kopyasını oluşturur. (Devralındığı yer: Object) |
ToArray() |
Bir XmlSerializerNamespaces nesnedeki ön ek ve ad alanı çiftleri dizisini alır. |
ToString() |
Geçerli nesneyi temsil eden dizeyi döndürür. (Devralındığı yer: Object) |