XmlSerializerNamespaces Класс

Определение

Содержит пространства имен XML и префиксы, которые XmlSerializer используются для создания полных имен в экземпляре XML-документа.

public ref class XmlSerializerNamespaces
public class XmlSerializerNamespaces
type XmlSerializerNamespaces = class
Public Class XmlSerializerNamespaces
Наследование
XmlSerializerNamespaces

Примеры

В следующем примере создается XmlSerializerNamespaces объект и добавляется две пары префикса и пространства имен. Затем в примере XmlSerializerNamespacesSerialize передается метод, который сериализует Books объект в XML-документ. XmlSerializerNamespaces Используя объект, Serialize метод квалифициирует каждый XML-элемент и атрибут с одним из двух пространств имен.

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

Комментарии

Содержит XmlSerializerNamespaces коллекцию пространств имен XML, каждая из которых содержит связанный префикс. Использует XmlSerializer экземпляр класса для создания полных XmlSerializerNamespaces имен в XML-документе.

Пространства имен XML, содержащиеся в XmlSerializerNamespaces спецификации W3C с именем "Пространства имен" в XML.

Пространства имен XML предоставляют способ квалифицировать имена XML-элементов и атрибутов в XML-документах. Полное имя состоит из префикса и локального имени, разделенного двоеточием. Префикс функционирует только в качестве заполнителя; он сопоставляется с URI, указывающим пространство имен. Сочетание пространства имен универсально управляемого URI и локального имени создает имя, которое гарантированно будет универсально уникальным.

Создание полных имен в XML-документе:

  1. Создайте экземпляр XmlSerializerNamespaces.

  2. Add каждая пара префикса и пространства имен, которую требуется экземпляру.

  3. Примените соответствующий атрибут.NET к каждому свойству или классу, который XmlSerializer сериализуется в XML-документ. Доступные атрибуты:

  1. Namespace Задайте для свойства каждого атрибута одно из значений пространства имен из XmlSerializerNamespaces объекта.

  2. XmlSerializerNamespaces Serialize Передайте метод в XmlSerializerметод .

Note

Создание пустого пространства имен и пары префиксов не поддерживается. Т. е. нельзя создать пару с помощью следующего кода:

XmlSerializerNamespaces ns = new XmlSerializerNamespaces();
ns.Add("", "");
Dim ns As XmlSerializerNamespaces ns = New XmlSerializerNamespaces()
ns.Add("", "")

Конструкторы

Имя Описание
XmlSerializerNamespaces()

Инициализирует новый экземпляр класса XmlSerializerNamespaces.

XmlSerializerNamespaces(XmlQualifiedName[])

Инициализирует новый экземпляр класса XmlSerializerNamespaces.

XmlSerializerNamespaces(XmlSerializerNamespaces)

Инициализирует новый экземпляр класса, используя указанный экземпляр XmlSerializerNamespacesXmlSerializerNamespaces , содержащий коллекцию пар префикса и пространства имен.

Свойства

Имя Описание
Count

Возвращает количество пар префикса и пространства имен в коллекции.

Методы

Имя Описание
Add(String, String)

Добавляет в объект префикс и пару XmlSerializerNamespaces пространства имен.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetType()

Возвращает Type текущего экземпляра.

(Унаследовано от Object)
MemberwiseClone()

Создает неглубокую копию текущей Object.

(Унаследовано от Object)
ToArray()

Возвращает массив пар префикса и пространства имен в объекте XmlSerializerNamespaces .

ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Применяется к

См. также раздел