2012-02-01 25 views
89

Soy muy nuevo en C#. Tengo un archivo XML (text.xml). Quiero leer eso en XmlDocument y almacenar la secuencia en la variable de cadena.Lea el archivo XML en XmlDocument

+0

gracias a ambos por su ayuda. – AJP

Respuesta

142

Utilice el método XmlDocument.Load() para cargar XML de su archivo. Luego use la propiedad XmlDocument.InnerXml para obtener cadenas XML.

XmlDocument doc = new XmlDocument(); 
doc.Load("path to your file"); 
string xmlcontents = doc.InnerXml; 
+0

excelente solución – Nirman

+1

'XmlDocument' no contiene una definición para' Load'. –

+2

lo hace: http://msdn.microsoft.com/en-us/library/875kz807(v=vs.110).aspx –

3

espera usted no cuenta Xml.Linq y .net3.5 +

XElement ele = XElement.Load("text.xml"); 
String aXmlString = ele.toString(SaveOptions.DisableFormatting); 

dependiendo de lo que le interesa, es probable que pueda saltar el conjunto 'cadena' parte var y sólo tiene que utilizar XLinq objetos

14

Si su versión .NET es más nueva que la 3.0, puede intentar usar System.Xml.Linq.XDocument en lugar de XmlDocument. Es más fácil procesar datos con XDocument.

+0

gracias por su ayuda. – AJP

+0

Y aquí le mostramos cómo cargar un archivo utilizando XDocument: http://stackoverflow.com/questions/670563/linq-to-read-xml –

1
XmlDocument doc = new XmlDocument(); 
    doc.Load("MonFichierXML.xml"); 

    XmlNode node = doc.SelectSingleNode("Magasin"); 

    XmlNodeList prop = node.SelectNodes("Items"); 

    foreach (XmlNode item in prop) 
    { 
     items Temp = new items(); 
     Temp.AssignInfo(item); 
     lstitems.Add(Temp); 
    } 
1
XmlDocument doc=new XmlDocument(); 
Doc.Loadxml(@"c:\abc.xml"); 
+0

Tenga en cuenta que la pregunta también requiere almacenar el contenido XML en una cadena. – mins

+0

'XmlDocument.LoadXml()' carga una cadena XML. Para cargar un archivo XML por nombre, use 'XmlDocument.Load()' como lo sugiere la respuesta aceptada. –