XmlSerializerNamespaces 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
包含用于在 XML 文档实例中生成限定名称的 XML 命名空间和前缀 XmlSerializer 。
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 命名空间中包含的 XML 命名空间必须符合 XML 中名为命名空间的 W3C 规范。
XML 命名空间提供一种方法来限定 XML 文档中的 XML 元素和属性的名称。 限定名称由前缀和本地名称组成,用冒号分隔。 前缀仅用作占位符;它映射到指定命名空间的 URI。 通用管理的 URI 命名空间和本地名称的组合将生成一个保证具有通用唯一性的名称。
在 XML 文档中创建限定名称:
创建实例 XmlSerializerNamespaces 。
Add 要实例的每个前缀和命名空间对。
将适当的.NET属性应用于XmlSerializer序列化为 XML 文档的每个属性或类。 可用属性包括:
将
Namespace每个属性的属性设置为对象中的 XmlSerializerNamespaces 命名空间值之一。将传递给 XmlSerializerNamespacesSerialize . 的方法 XmlSerializer。
注释
不支持创建空命名空间和前缀对。 也就是说,不能使用以下代码创建对:
XmlSerializerNamespaces ns = new XmlSerializerNamespaces();
ns.Add("", "");
Dim ns As XmlSerializerNamespaces ns = New XmlSerializerNamespaces()
ns.Add("", "")
构造函数
| 名称 | 说明 |
|---|---|
| XmlSerializerNamespaces() |
初始化 XmlSerializerNamespaces 类的新实例。 |
| XmlSerializerNamespaces(XmlQualifiedName[]) |
初始化 XmlSerializerNamespaces 类的新实例。 |
| XmlSerializerNamespaces(XmlSerializerNamespaces) |
使用包含前缀和命名空间对集合的指定实例初始化类的新 XmlSerializerNamespaces 实例 |
属性
| 名称 | 说明 |
|---|---|
| Count |
获取集合中的前缀和命名空间对的数目。 |
方法
| 名称 | 说明 |
|---|---|
| Add(String, String) |
向对象添加前缀和命名空间对 XmlSerializerNamespaces 。 |
| Equals(Object) |
确定指定的对象是否等于当前对象。 (继承自 Object) |
| GetHashCode() |
用作默认哈希函数。 (继承自 Object) |
| GetType() |
获取当前实例的 Type。 (继承自 Object) |
| MemberwiseClone() |
创建当前 Object的浅表副本。 (继承自 Object) |
| ToArray() |
获取对象中 XmlSerializerNamespaces 前缀和命名空间对的数组。 |
| ToString() |
返回一个表示当前对象的字符串。 (继承自 Object) |