考虑我的源文件是这样的。
<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>
我想编写一个代码,它从一个位置读取这个xml文档并将其显示为字符串。
say name of the xml file is helloworld.xml.
Location: D:\abcd\cdef\all\helloworld.xml.
我尝试了以下内容,但我无法做到。
XmlDocument contentxml = new XmlDocument();
contentxml.LoadXml(@"D:\abcd\cdef\all\helloworld.xml");
Response.Write("<BR>" + contentxml.ToString());
Response.write什么也没显示。如果我错过任何事情,请纠正我。它没有创建任何组件和错误即将到来。
我也试过这个,
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());
但我没有找到任何输出。
我想从一个位置读取一个XML文件,并将其显示为字符串。
任何人都可以帮忙解决这个问题。
谢谢你, Muzimil。
答案 0 :(得分:4)
您需要OuterXml
属性:
Response.Write("<BR>" + contentxml.OuterXml);
此外,您正在加载文件而不是xml,因此请使用
contentxml.Load(@"D:\abcd\cdef\all\helloworld.xml");
而不是
contentxml.LoadXml(@"D:\abcd\cdef\all\helloworld.xml");
答案 1 :(得分:1)
你真的必须反序列化XML吗?为什么不把它作为文本文件阅读?像...这样的东西。
String text = File.ReadAllText(@"D:\abcd\cdef\all\helloworld.xml");
Response.Write(text);
显然有适当的错误处理..
答案 2 :(得分:1)
我会尝试使用XDocument
类:
//load the document from file
var doc = XDocument.Load("..."); //== path to the file
//write the xml to the screen
Response.Write(doc.ToString());
如果您想使用XmlDocument
,则可以使用Load
代替LoadXml
。
答案 3 :(得分:0)
如果您只想将文件写入输出,则可以执行Response.WriteFile。
答案 4 :(得分:0)
试试这个
XmlTextReader reader = new XmlTextReader (@"D:\abcd\cdef\all\helloworld.xml");
while (reader.Read())
{
Console.WriteLine(reader.Name);
}
Console.ReadLine();
答案 5 :(得分:0)
String text = File.ReadAllText(Server.MapPath("~/App_Data/sample.xml"));
txtData.Text = text;