XmlConvert 类

定义

对 XML 名称进行编码和解码,并提供在公共语言运行时类型和 XML 架构定义语言(XSD)类型之间进行转换的方法。 转换数据类型时,返回的值与区域设置无关。

public ref class XmlConvert abstract sealed
public ref class XmlConvert
public static class XmlConvert
public class XmlConvert
type XmlConvert = class
Public Class XmlConvert
继承
XmlConvert

注解

XmlConvert 类在功能上等效于 Convert 该类,但它支持 XML 标准。 类型系统基于 XML 架构定义语言 (XSD) 架构类型,返回的值始终独立于区域设置。

编码和解码

根据 W3C XML 1.0 建议,元素和属性名称或 ID 值限制为一系列 XML 字符。 当名称包含无效字符时,可以使用此类中的EncodeNameDecodeName方法将它们转换为有效的 XML 名称。

例如,如果要在数据库中使用列标题“Order Detail”,则数据库允许两个单词之间的空间。 但是,在 XML 中,“Order”和“Detail”之间的空格被视为无效的 XML 字符。 必须将它转换为转义的十六进制编码,然后对其进行解码。

可以将 EncodeName 该方法与类一起使用 XmlWriter ,以确保所写入的名称是有效的 XML 名称。 以下 C# 代码将名称“Order Detail”转换为有效的 XML 名称并写入元素 <Order_0x0020_Detail>My order</Order_0x0020_Detail>

writer.WriteElementString(XmlConvert.EncodeName("Order Detail"),"My order");

以下 XmlConvert 方法执行编码和解码。

方法 Description
EncodeName 获取一个名称,并返回编码的名称以及由转义字符串替换的任何无效字符。 此方法允许在任何位置使用冒号,这意味着根据 W3C XML 1.0 命名空间建议书,名称可能仍然不符合标准。
EncodeNmToken 获取一个名称并返回编码的名称。
EncodeLocalName EncodeName 类似,但它还对冒号字符进行编码,从而保证该名称可以用作命名空间限定名称中的 LocalName 部分。
DecodeName 对所有编码方法进行反向转换。

名称验证

XmlConvert 类包含两种方法用于检查元素或属性名称中的字符,并验证名称是否符合 W3C XML 1.0 建议设置的规则:

  • VerifyName 检查字符并验证名称是否有效。 如果名称有效,该方法将返回该名称,如果名称无效,则引发异常。
  • VerifyNCName 执行相同的验证,但接受非限定名称。

XmlConvert 包含用于验证令牌、空白字符、公共 ID 和其他字符串的其他方法。

数据类型转换

XmlConvert 还提供使你能够将数据从字符串转换为强类型数据类型的方法。 例如,该方法 ToDateTime 将字符串转换为其 DateTime 等效项。 这很有用,因为类中的 XmlReader 大多数方法都以字符串的形式返回数据。 读取数据后,可以在使用之前将其转换为正确的数据类型。 ToString 重载通过将强类型化数据转换为字符串来提供补充操作。 例如,如果要将数据添加到网页上的文本框,这非常有用。 数据转换期间不会考虑区域设置。 数据类型基于 XML 架构 (XSD) 数据类型。

构造函数

名称 说明
XmlConvert()

初始化 XmlConvert 类的新实例。

方法

名称 说明
DecodeName(String)

解码名称。 此方法执行反向 EncodeName(String) 操作和 EncodeLocalName(String) 方法。

EncodeLocalName(String)

将名称转换为有效的 XML 本地名称。

EncodeName(String)

将名称转换为有效的 XML 名称。

EncodeNmToken(String)

根据 XML 规范验证名称是否有效。

IsNCNameChar(Char)

检查传入字符是否为有效的非冒号字符类型。

IsPublicIdChar(Char)

如果参数中的字符是有效的公共 ID 字符,则返回传入的字符实例,否则 null返回 。

IsStartNCNameChar(Char)

检查传入的字符是否为有效的“开始名称字符”类型。

IsWhitespaceChar(Char)

检查传入的字符是否为有效的 XML 空格字符。

IsXmlChar(Char)

检查传入的字符是否为有效的 XML 字符。

IsXmlSurrogatePair(Char, Char)

检查传入代理项对字符是否为有效的 XML 字符。

ToBoolean(String)

String将转换为等效项Boolean

ToByte(String)

String将转换为等效项Byte

ToChar(String)

String将转换为等效项Char

ToDateTime(String, String)

String将转换为等效项DateTime

ToDateTime(String, String[])

String将转换为等效项DateTime

ToDateTime(String, XmlDateTimeSerializationMode)

使用 String 指定的值转换为 a DateTimeXmlDateTimeSerializationMode

ToDateTime(String)
已过时.
已过时.

String将转换为等效项DateTime

ToDateTimeOffset(String, String)

将所提供的 String 值转换为等效项 DateTimeOffset

ToDateTimeOffset(String, String[])

将所提供的 String 值转换为等效项 DateTimeOffset

ToDateTimeOffset(String)

将所提供的 String 值转换为等效项 DateTimeOffset

ToDecimal(String)

String将转换为等效项Decimal

ToDouble(String)

String将转换为等效项Double

ToGuid(String)

String将转换为等效项Guid

ToInt16(String)

String将转换为等效项Int16

ToInt32(String)

String将转换为等效项Int32

ToInt64(String)

String将转换为等效项Int64

ToSByte(String)

String将转换为等效项SByte

ToSingle(String)

String将转换为等效项Single

ToString(Boolean)

Boolean 转换为 String.

ToString(Byte)

Byte 转换为 String.

ToString(Char)

Char 转换为 String.

ToString(DateTime, String)

DateTime 转换为 String.

ToString(DateTime, XmlDateTimeSerializationMode)

使用 DateTime 指定的值转换为 a StringXmlDateTimeSerializationMode

ToString(DateTime)
已过时.
已过时.

DateTime 转换为 String.

ToString(DateTimeOffset, String)

将所提供的 DateTimeOffset 格式转换为 String 指定格式。

ToString(DateTimeOffset)

将所提供的 DateTimeOffset 值转换为 String.

ToString(Decimal)

Decimal 转换为 String.

ToString(Double)

Double 转换为 String.

ToString(Guid)

Guid 转换为 String.

ToString(Int16)

Int16 转换为 String.

ToString(Int32)

Int32 转换为 String.

ToString(Int64)

Int64 转换为 String.

ToString(SByte)

SByte 转换为 String.

ToString(Single)

Single 转换为 String.

ToString(TimeSpan)

TimeSpan 转换为 String.

ToString(UInt16)

UInt16 转换为 String.

ToString(UInt32)

UInt32 转换为 String.

ToString(UInt64)

UInt64 转换为 String.

ToTimeSpan(String)

String将转换为等效项TimeSpan

ToUInt16(String)

String将转换为等效项UInt16

ToUInt32(String)

String将转换为等效项UInt32

ToUInt64(String)

String将转换为等效项UInt64

VerifyName(String)

根据 W3C 扩展标记语言建议验证名称是否为有效名称。

VerifyNCName(String)

根据 W3C 扩展标记语言建议验证名称是否有效 NCName 。 一 NCName 个名称不能包含冒号。

VerifyNMTOKEN(String)

根据 W3C XML 架构第 2 部分:数据类型建议验证字符串是否为有效的 NMTOKEN。

VerifyPublicId(String)

如果字符串参数中的所有字符都是有效的公共 ID 字符,则返回传入的字符串实例。

VerifyTOKEN(String)

根据 W3C XML 架构第 2 部分:数据类型建议验证字符串是否为有效令牌。

VerifyWhitespace(String)

如果字符串参数中的所有字符都是有效的空格字符,则返回传入字符串实例。

VerifyXmlChars(String)

如果字符串参数中的所有字符和代理项对字符都是有效的 XML 字符,则返回传入字符串,否则将引发包含第一个 XmlException 无效字符的信息。

适用于