Класс System.Xml.XmlConvert

В этой статье приводятся дополнительные замечания к справочной документации по этому API.

Класс XmlConvert функционально эквивалентен классу Convert , но поддерживает XML-стандарты. Система типов основана на типе схем XSD, и возвращаемые значения никогда не зависит от языкового стандарта.

Кодировка и декодирование

Имена элементов и атрибутов или значения идентификаторов ограничены диапазоном XML-символов в соответствии с рекомендацией W3C XML 1.0. Если имена содержат недопустимые символы, можно использовать EncodeNameDecodeName методы в этом классе, чтобы перевести их в допустимые XML-имена.

Например, если вы хотите использовать заголовок столбца "Order Detail" в базе данных, база данных позволяет пространству между двумя словами. Однако в 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 Следующие методы выполняют кодировку и декодирование.

Метод Description
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).