2011-01-05 14 views
19

Tengo una cadena XML. Necesito convertir esta cadena en XMLTextReader (System.Xml.XMLTextReader) escriba en dotnet.Cómo leer una cadena xml en XMLTextReader escriba

He utilizado el siguiente código:

string szInputXml = "<TestDataXml><DataName>testing</DataName></TestDataXml>" ; 
XmlTextReader reader = new XmlTextReader(new System.IO.StringReader(szInputXml)); 

Pero la cadena dentro del lector está vacía después de la ejecución.

Ayúdeme a determinar qué debe hacerse para que el XMLTextReader se rellene con la cadena especificada.

+3

No utilice 'new XmlTextReader()'. Ha estado en desuso desde .NET 2.0. Use 'XmlReader.Create()' en su lugar. –

+0

Además, debe tener algo más en marcha. Una expresión 'new' no puede devolver nulo. –

+0

@ JohnSaunders, ¿por qué está obsoleto? –

Respuesta

38

¿Cómo se determina si la cadena está vacía?

string szInputXml = "<TestDataXml><DataName>testing</DataName></TestDataXml>"; 
XmlTextReader reader = new XmlTextReader(new System.IO.StringReader(szInputXml)); 
reader.Read(); 
string inner = reader.ReadInnerXml(); 

Sin línea 3 "interior" estaba vacío de hecho. Ahora contiene pruebas.

+0

Tenga en cuenta que esto es como un IDataReader.Read() en el sentido de que cuando hace un .Read, va al siguiente elemento. Consulte https://msdn.microsoft.com/en-us/library/system.xml.xmlreader.read%28v=vs.110%29.aspx – granadaCoder

Cuestiones relacionadas