Compartilhar via


Gravando dados digitados

A classe de XmlWriter fornece a capacidade de gravar dados digitados.O método de WriteValue aceita valores digitados simples (CLR) common language runtime).Esse recurso é útil ao trabalhar com tipos CLR simples e uma instância de XmlWriter .Você pode chamar o método de WriteValue para escrever o valor digitado, em vez de usar os métodos da classe de XmlConvert para converter os dados digitados como um valor de cadeia de caracteres antes de gravar out.

Valores digitados de gravação

O método de WriteValue usa um objeto CLR e converte o valor de entrada para o tipo desejado de saída usando as regras de conversão de tipo de dados de linguagem de definição de esquema XML (XSD).Se o objeto CLR é um tipo de lista, como IEnumerable, IList, ou ICollection, será tratado como uma matriz do tipo de valor.

Quando o método de WriteValue é chamado, XmlWriter converte o valor em suas representações de cadeia de caracteres de acordo com as regras e as gravações de tipo de dados de (XSD) de esquema XML ela por meio do método de WriteString .

bft97s8e.collapse_all(pt-br,VS.110).gifGravando em texto

Quando WriteValue é chamado, o valor digitado será serializado em texto usando as regras de XmlConvert para esse tipo de esquema.

Tipo CLR

Tipo de dados padrão de (XSD) de esquema XML

System.Boolean

xsd: booliano

System.Byte **

xsd: inteiro

System.Byte []

xsd: base64Binary

System.Char **

xsd: cadeia de caracteres

System.DateTime

xsd: dateTime

System.Decimal

xsd: decimal

System.Double

xsd: double

System.Int16 **

xsd: inteiro

System.Int32

xsd: inteiro

System.Int64

xsd: inteiro

System.Single

xsd: float

System.String

xsd: cadeia de caracteres

System.IO.TextReader

xsd: cadeia de caracteres

System.IO.BinaryReader

xsd: base64Binary

** Esses tipos não são compatíveis com CLS.Não têm um método correspondente na classe de XmlReader .

Dica

Se WriteValue é chamado várias vezes sucessivamente, os valores não serão separados por um espaço.Você deve chamar WriteWhitespace entre as chamadas para WriteValue para inserir o espaço em branco.

bft97s8e.collapse_all(pt-br,VS.110).gifGravada em um repositório de dados XML

XmlWriter pode ser usado para gravar a um repositório de dados XML.Por exemplo, a classe de XPathNavigator possível criar um objeto de XmlWriter para criar nós para um objeto de XmlDocument .

Se o repositório de dados tiver informações disponíveis de esquema, o método de WriteValue lançará uma exceção se as tentativas de chamada de WriteValue de conversão em um tipo que não é permitido.

Se o repositório de dados não tiver informações disponíveis de esquema, o método de WriteValue trata todos os valores como um tipo de xsd:anySimpleType .

Exemplo

O exemplo a seguir aumenta o preço de livro de 15 por cento antes de serem gravados fora.Informações de esquema são obtidas de leitura, que é um objeto de validação de XmlReader .

reader.ReadToDescendant("price")
writer.WriteStartElement("price")
writer.WriteValue(reader.ReadElementContentAsDouble() * 1.15)
writer.WriteEndElement()
reader.ReadToDescendant("price");
writer.WriteStartElement("price");
writer.WriteValue((reader.ReadElementContentAsDouble()) * 1.15);
writer.WriteEndElement();

Consulte também

Outros recursos

Escrevendo XML com o XmlWriter

Digite support em classes System.Xml