XmlSerializerNamespaces Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Innehåller DE XML-namnområden och prefix som XmlSerializer används för att generera kvalificerade namn i en XML-dokumentinstans.
public ref class XmlSerializerNamespaces
public class XmlSerializerNamespaces
type XmlSerializerNamespaces = class
Public Class XmlSerializerNamespaces
- Arv
-
XmlSerializerNamespaces
Exempel
I följande exempel skapas ett XmlSerializerNamespaces objekt och två prefix och namnområdespar läggs till i det. Exemplet skickar XmlSerializerNamespaces sedan till Serialize -metoden, som serialiserar ett Books objekt till ett XML-dokument.
XmlSerializerNamespaces Med hjälp av -objektet Serialize kvalificerar metoden varje XML-element och -attribut med ett av de två namnrymderna.
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
Kommentarer
Innehåller XmlSerializerNamespaces en samling XML-namnområden, var och en med ett associerat prefix. XmlSerializer Använder en instans av XmlSerializerNamespaces klassen för att skapa kvalificerade namn i ett XML-dokument.
XML-namnområden som ingår i XmlSerializerNamespaces måste överensstämma med W3C-specifikationen med namnet Namespaces i XML.
XML-namnområden är ett sätt att kvalificera namnen på XML-element och -attribut i XML-dokument. Ett kvalificerat namn består av ett prefix och ett lokalt namn, avgränsat med ett kolon. Prefixet fungerar bara som platshållare. den mappas till en URI som anger ett namnområde. Kombinationen av det universellt hanterade URI-namnområdet och det lokala namnet genererar ett namn som garanterat är universellt unikt.
Så här skapar du kvalificerade namn i ett XML-dokument:
Skapa en XmlSerializerNamespaces instans.
Add varje prefix och namnområdespar som du vill använda till instansen.
Använd lämpligt.NET attribut för varje egenskap eller klass som XmlSerializer serialiserar i ett XML-dokument. De tillgängliga attributen är:
Ange egenskapen för
Namespacevarje attribut till ett av namnområdesvärdena XmlSerializerNamespaces från objektet.XmlSerializerNamespaces Skicka till Serialize -metoden för XmlSerializer.
Note
Det går inte att skapa ett tomt namnområde och prefixpar. Du kan alltså inte skapa ett par med hjälp av följande kod:
XmlSerializerNamespaces ns = new XmlSerializerNamespaces();
ns.Add("", "");
Dim ns As XmlSerializerNamespaces ns = New XmlSerializerNamespaces()
ns.Add("", "")
Konstruktorer
| Name | Description |
|---|---|
| XmlSerializerNamespaces() |
Initierar en ny instans av XmlSerializerNamespaces klassen. |
| XmlSerializerNamespaces(XmlQualifiedName[]) |
Initierar en ny instans av XmlSerializerNamespaces klassen. |
| XmlSerializerNamespaces(XmlSerializerNamespaces) |
Initierar en ny instans av XmlSerializerNamespaces klassen med den angivna instansen som |
Egenskaper
| Name | Description |
|---|---|
| Count |
Hämtar antalet prefix- och namnområdespar i samlingen. |
Metoder
| Name | Description |
|---|---|
| Add(String, String) |
Lägger till ett prefix och namnområdespar i ett XmlSerializerNamespaces objekt. |
| Equals(Object) |
Avgör om det angivna objektet är lika med det aktuella objektet. (Ärvd från Object) |
| GetHashCode() |
Fungerar som standard-hash-funktion. (Ärvd från Object) |
| GetType() |
Hämtar den aktuella instansen Type . (Ärvd från Object) |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| ToArray() |
Hämtar matrisen med prefix- och namnområdespar i ett XmlSerializerNamespaces objekt. |
| ToString() |
Returnerar en sträng som representerar det aktuella objektet. (Ärvd från Object) |