Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Замечание
В этой статье приводятся дополнительные замечания к справочной документации по этому API.
Класс XmlConvert функционально эквивалентен классу Convert , но поддерживает XML-стандарты. Система типов основана на языке определения схем XML (XSD), а возвращаемые значения всегда являются независимыми от региональных настроек.
Кодировка и декодирование
Имена элементов и атрибутов или значения идентификаторов ограничены диапазоном XML-символов в соответствии с рекомендацией W3C XML 1.0. Если имена содержат недопустимые символы, можно использовать EncodeNameDecodeName методы в этом классе, чтобы перевести их в допустимые XML-имена.
Например, если вы хотите использовать заголовок столбца "Детали заказа" в базе данных, база данных допускает пробел между двумя словами. Однако в XML пространство между "Order" и "Detail" считается недопустимым XML-символом. Его необходимо преобразовать в шестнадцатеричное кодирование и декодировать его позже.
Метод можно использовать с классом EncodeNameXmlWriter , чтобы убедиться, что имена, записанные, являются допустимыми XML-именами. Следующий код C# преобразует имя Order Detail в допустимое XML-имя и записывает элемент <Order_0x0020_Detail>My order</Order_0x0020_Detail>.
writer.WriteElementString(XmlConvert.EncodeName("Order Detail"),"My order");
XmlConvert Следующие методы выполняют кодировку и декодирование.
| Метод | Описание |
|---|---|
| EncodeName | Принимает имя и возвращает закодированное имя вместе с любым недопустимым символом, заменяемым escape-строкой. Этот метод позволяет, чтобы двоеточия могли находиться в любой позиции, что означает, что имя по-прежнему может быть недопустимым в соответствии с рекомендацией W3C Namespaces в XML 1.0. |
| EncodeNmToken | Принимает имя и возвращает закодированное имя. |
| EncodeLocalName |
EncodeName То же самое, за исключением того, что он также кодирует символ двоеточия, гарантируя, что имя может быть использовано в качестве LocalName части имени пространства имен. |
| DecodeName | Отменяет преобразование для всех методов кодирования. |
Проверка имени
Класс XmlConvert содержит два метода, которые проверяют символы в имени элемента или атрибута и проверяют соответствие имени правилам, заданным рекомендацией W3C XML 1.0:
- VerifyName проверяет символы и проверяет, является ли имя допустимым. Метод возвращает имя, если оно допустимо, и вызывает исключение, если это не так.
- VerifyNCName выполняет ту же проверку, но принимает неквалифицированные имена.
Он XmlConvert содержит дополнительные методы, которые проверяют маркеры, символы пробелов, общедоступные идентификаторы и другие строки.
Преобразование типов данных
XmlConvert также предоставляет методы, позволяющие преобразовать данные из строки в строго типизированный тип данных. Например, ToDateTime метод преобразует строку в его DateTime эквивалент. Это полезно, так как большинство методов в XmlReader классе возвращают данные в виде строки. После чтения данных его можно преобразовать в правильный тип данных перед использованием. Перегрузки ToString обеспечивают дополнительную операцию путем преобразования строго типизированных данных в строки. Например, это полезно при добавлении данных в текстовые поля на веб-странице. Параметры локальных настроек не учитываются во время преобразования данных. Типы данных основаны на типах данных СХЕМЫ XML (XSD).