Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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ę oraz każdy nieprawidłowy znak, który zostaje zastąpiony ciągiem znaków 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 jej kodowaną wersję. |
EncodeLocalName | To samo co EncodeName, z tą różnicą, że dodatkowo koduje znak dwukropka, co zapewnia, że nazwa może być używana jako część LocalName 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.
XmlConvert zawiera dodatkowe metody, które weryfikują tokeny, białe znaki, publiczne identyfikatory i inne ciągi tekstowe.
Konwersja typu danych
XmlConvert Udostępnia również metody, które umożliwiają przekształcanie danych z ciągu na silnie typowany 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 umożliwiają operację uzupełniającą, przekształcając silnie typizowane dane na ciągi znaków. 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).