Udostępnij za pośrednictwem


System.Xml.XmlConvert, klasa

Ten artykuł zawiera dodatkowe uwagi dotyczące dokumentacji referencyjnej dla tego interfejsu API.

Klasa jest funkcjonalnie równoważna XmlConvertConvert klasie, ale obsługuje standardy XML. System typów jest oparty na typie schematu języka definicji schematu XML (XSD), a zwracane wartości są zawsze niezależne od ustawień regionalnych.

Kodowanie i dekodowanie

Nazwy elementów i atrybutów lub wartości identyfikatorów są ograniczone do zakresu znaków XML zgodnie z zaleceniem W3C XML 1.0. Gdy nazwy zawierają nieprawidłowe znaki, możesz użyć EncodeName metod i DecodeName w tej klasie, aby przetłumaczyć je na prawidłowe nazwy XML.

Jeśli na przykład chcesz użyć nagłówka kolumny "Order Detail" w bazie danych, baza danych zezwala na odstęp między dwoma wyrazami. Jednak w formacie XML spacja między znakiem "Order" i "Detail" jest uznawana za nieprawidłowy znak XML. Musisz przekonwertować go na kodowanie szesnastkowe ucieczki i zdekodować go później.

Możesz użyć EncodeName metody z klasą XmlWriter , aby upewnić się, że zapisywane nazwy są prawidłowymi nazwami XML. Poniższy kod języka C# konwertuje nazwę "Szczegóły zamówienia" na prawidłową nazwę XML i zapisuje element <Order_0x0020_Detail>My order</Order_0x0020_Detail>.

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

Poniższe XmlConvert metody wykonują kodowanie i dekodowanie.

Metoda opis
EncodeName Przyjmuje nazwę i zwraca zakodowaną nazwę wraz z dowolnym nieprawidłowym znakiem, który jest zastępowany ciągiem ucieczki. Ta metoda zezwala na dwukropki w dowolnej pozycji, co oznacza, że nazwa może być nadal nieprawidłowa zgodnie z zaleceniami przestrzeni nazw W3C w rekomendacji XML 1.0.
EncodeNmToken Przyjmuje nazwę i zwraca zakodowaną nazwę.
EncodeLocalName To samo, co EncodeName z tą różnicą, że koduje również znak dwukropka, co gwarantuje, że nazwa może być używana jako LocalName część nazwy kwalifikowanej przestrzeni nazw.
DecodeName Odwraca transformację dla wszystkich metod kodowania.

Walidacja nazwy

Klasa XmlConvert zawiera dwie metody, które sprawdzają znaki w nazwie elementu lub atrybutu i sprawdzają, czy nazwa jest zgodna z regułami ustawionymi przez zalecenie W3C XML 1.0:

  • VerifyName sprawdza znaki i sprawdza, czy nazwa jest prawidłowa. Metoda zwraca nazwę, jeśli jest prawidłowa, i zgłasza wyjątek, jeśli nie jest.
  • VerifyNCName wykonuje tę samą walidację, ale akceptuje nazwy niekwalifikowane.

Zawiera XmlConvert dodatkowe metody, które weryfikują tokeny, znaki odstępu, publiczne identyfikatory i inne ciągi.

Konwersja typu danych

XmlConvert Udostępnia również metody, które umożliwiają konwertowanie danych z ciągu na silnie typ danych. Na przykład ToDateTime metoda konwertuje ciąg na jego DateTime odpowiednik. Jest to przydatne, ponieważ większość metod w XmlReader klasie zwraca dane jako ciąg. Po odczytaniu danych można je przekonwertować na odpowiedni typ danych przed ich zastosowaniem. Przeciążenia ToString zapewniają operację uzupełniającą, konwertując silnie typizowane dane na ciągi. Na przykład jest to przydatne, gdy chcesz dodać dane do pól tekstowych na stronie internetowej. Ustawienia regionalne nie są uwzględniane podczas konwersji danych. Typy danych są oparte na typach danych schematu XML (XSD).