2012-03-30 6 views
-1

betrachten meine Quelldatei sieht so aus.Wie XML-Dokument zu lesen und die Ausgabe als Zeichenfolge in c anzuzeigen #

 <Content xmlns="uuid:4522eb85-0a47-45f9-8e2b-1x82c78xx920"> 
      <first>Hello World.This is Fisrt field</first> 
      <second>Hello World.This is second field</second> 
    </Content> 

Ich möchte einen Code schreiben, der dieses XML-Dokument von einem Speicherort liest und es als Zeichenfolge anzeigen.

say name of the xml file is helloworld.xml. 
    Location: D:\abcd\cdef\all\helloworld.xml. 

Ich habe Folgendes versucht, aber ich konnte es nicht tun.

  XmlDocument contentxml = new XmlDocument(); 
      contentxml.LoadXml(@"D:\abcd\cdef\all\helloworld.xml"); 
      Response.Write("<BR>" + contentxml.ToString()); 

Response.write zeigt nichts an. Korrigiere mich, wenn ich etwas verpasst habe. Es wird keine Komponente erstellt und es kommt ein Fehler.

Ich habe auch schon versucht, diese,

  XmlDocument contentxml = new XmlDocument(); 
      try 
      { 
       contentxml.LoadXml(@"D:\abcd\cdef\all\helloworld.xml"); 
      } 
      catch (XmlException exp) 
      { 
       Console.WriteLine(exp.Message); 
      } 
      StringWriter sw = new StringWriter(); 
      XmlTextWriter xw = new XmlTextWriter(sw); 
      contentxml.WriteTo(xw); 
      Response.Write("<BR>" + sw.ToString()); 

aber ich habe die eine Ausgabe nicht gefunden.

Ich möchte eine XML-Datei von einem Ort lesen und es so wie es ist als Zeichenfolge anzeigen.

Kann jemand dabei helfen.

Vielen Dank, Muzimil.

Antwort

4

Sie benötigen die OuterXml Eigenschaft:

Response.Write("<BR>" + contentxml.OuterXml); 

auch eine Datei, die Sie laden einfach so nicht xml verwenden

contentxml.Load(@"D:\abcd\cdef\all\helloworld.xml"); 

statt

contentxml.LoadXml(@"D:\abcd\cdef\all\helloworld.xml"); 
0

Wenn Sie möchten Schreiben Sie eine Datei in die Ausgabe, können Sietun.

0

versuchen diese

XmlTextReader reader = new XmlTextReader (@"D:\abcd\cdef\all\helloworld.xml"); 
while (reader.Read()) 
{ 
    Console.WriteLine(reader.Name); 
} 
Console.ReadLine(); 
1

Haben Sie wirklich an die ganze XML deserialisieren? Warum liest du es nicht einfach als Textdatei? So etwas wie ..

String text = File.ReadAllText(@"D:\abcd\cdef\all\helloworld.xml"); 
Response.Write(text); 

Bei entsprechender Fehlerbehandlung offensichtlich ..

1

Ich würde versuchen, die XDocument-Klasse:

//load the document from file 
var doc = XDocument.Load("..."); //== path to the file 

//write the xml to the screen 
Response.Write(doc.ToString()); 

Wenn Sie eine XmlDocument stattdessen verwenden möchten, würden Sie wollen Verwenden Sie stattdessen LoadLoadXml.

0
String text = File.ReadAllText(Server.MapPath("~/App_Data/sample.xml")); 
txtData.Text = text;