Hay una manera sencilla de parsear cadenas a XML. Es usando la clase XmlTextReader que viene integrada dentro del .NET Framework. Esta clase permite ser utilizada con varias fuentes de datos, como URL’s, archivos de texto, streams y XML readers.
Directamente, el XmlTextReader no te permite directamente cargar strings explicitamente, para eso hay que «engañar» al objeto inicializandolo desde un string dentro de un objeto StringReader. Los constructores más o menos se verían de la siguiente manera:
1 | public XmlTextReader(TextReader); |
El TextReader es una clase abstracta que representa un objeto .NET reader capaz de leer una sequencia de caracteres, sin importar donde se encuentran almacenados físicamente. La clase StringReader hereda directamente de esta y hace posible leer una representación de cadena dentro del lector.
Podemos inicializar el StringReader fácilmente, ya que este es heredado de TextReader, algo asi como:
1 | string xmlTexto = «<xml><nombre>Christian Strevel</nombre></xml>»; |
2 | StringReader = strLector = new StringReader(xmlTexto); |
3 | XmlTextReader xmlLector = new XmlTextReader(strLector); |
Dentro del xmlLector, podremos navegar el string XML de una manera sencilla y rápida. Solo que tengan cuidado que el codigo de arriba no es thread-safe, igual se tendría que modificar algunas partes del código.
Cheers!
Deja una respuesta
Lo siento, debes estar conectado para publicar un comentario.