Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Observação
Este artigo fornece observações complementares à documentação de referência para esta API.
A XmlConvert classe é funcionalmente equivalente à Convert classe, mas suporta padrões XML. O sistema de tipos é baseado no tipo de esquema XSD (XML Schema Definition Language), e os valores retornados são sempre independentes da localidade.
Codificação e descodificação
Nomes de elementos e atributos ou valores de ID são limitados a um intervalo de caracteres XML de acordo com a recomendação W3C XML 1.0. Quando os nomes contêm caracteres inválidos, você pode usar os EncodeName métodos e DecodeName nesta classe para traduzi-los em nomes XML válidos.
Por exemplo, se você quiser usar o título da coluna "Detalhes do pedido" em um banco de dados, o banco de dados permite o espaço entre as duas palavras. No entanto, em XML, o espaço entre "Order" e "Detail" é considerado um caractere XML inválido. Você tem que convertê-lo em uma codificação hexadecimal escapada e decodificá-lo mais tarde.
Você pode usar o EncodeName método com a XmlWriter classe para garantir que os nomes que estão sendo escritos sejam nomes XML válidos. O código C# a seguir converte o nome "Order Detail" em um nome XML válido e grava o elemento <Order_0x0020_Detail>My order</Order_0x0020_Detail>.
writer.WriteElementString(XmlConvert.EncodeName("Order Detail"),"My order");
Os métodos a seguir XmlConvert executam codificação e decodificação.
| Método | Descrição |
|---|---|
| EncodeName | Recebe um nome e retorna o nome codificado junto com qualquer caractere inválido que seja substituído por uma cadeia de escape. Esse método permite dois pontos em qualquer posição, o que significa que o nome ainda pode ser inválido de acordo com a recomendação W3C Namespaces in XML 1.0. |
| EncodeNmToken | Usa um nome e retorna o nome codificado. |
| EncodeLocalName | O mesmo que EncodeName exceto que ele também codifica o caractere de dois pontos, garantindo que o nome possa ser usado como parte LocalName de um nome qualificado para namespace. |
| DecodeName | Reverte a transformação para todos os métodos de codificação. |
Validação do nome
A XmlConvert classe contém dois métodos que verificam os caracteres em um nome de elemento ou atributo e verificam se o nome está em conformidade com as regras definidas pela recomendação W3C XML 1.0:
- VerifyName verifica os caracteres e verifica se o nome é válido. O método retorna o nome se for válido e lança uma exceção se não for.
- VerifyNCName Executa a mesma validação, mas aceita nomes não qualificados.
O XmlConvert contém métodos adicionais que validam tokens, caracteres de espaço em branco, IDs públicas e outras cadeias de caracteres.
Conversão de tipo de dados
XmlConvert também fornece métodos que permitem converter dados de uma cadeia de caracteres para um tipo de dados fortemente tipado. Por exemplo, o método converte ToDateTime uma cadeia de caracteres em seu DateTime equivalente. Isso é útil porque a XmlReader maioria dos métodos na classe retorna dados como uma cadeia de caracteres. Depois que os dados são lidos, eles podem ser convertidos para o tipo de dados adequado antes de serem usados. As sobrecargas ToString fornecem a operação complementar ao converter dados fortemente tipados em cadeias de caracteres. Por exemplo, isso é útil quando você deseja adicionar os dados a caixas de texto em uma página da Web. As configurações de localidade não são levadas em conta durante a conversão de dados. Os tipos de dados são baseados nos tipos de dados do esquema XML (XSD).