我有名为 XML_View 的 TextBlock
,我也知道 .xml
文件位置 string filename = dlg.FileName;
所以我想显示 TextBlock
的 xml,我在这里找到了一个可能的解决方案( Display XML in a WPF textbox ),它作为一个函数给出,如下所示:
protected string FormatXml(string xmlString)
{
XmlDocument doc = new XmlDocument();
doc.LoadXml(xmlString);
StringBuilder sb = new StringBuilder();
System.IO.TextWriter tr = new System.IO.StringWriter(sb);
XmlTextWriter wr = new XmlTextWriter(tr);
wr.Formatting = Formatting.Indented;
doc.Save(wr);
wr.Close();
return sb.ToString();
}
如果我获得所需的字符串,我可能只是简单地编写 XML_View.Text = String_xml;
或类似的内容。但如果我有 .xml
文件,我不知道如何获取字符串,并且我不知道如何使用这样的函数。
最佳答案
我已经修改了您的函数,以将文件名作为参数来读取您的 xml。确保该文件存在于您的 bin 目录中(或者您使用 @"C:\temp\myfile.xml"等绝对路径来解析)。
protected string FormatXml(string xmlFile)
{
XmlDocument doc = new XmlDocument();
FileStream fs = new FileStream(xmlFile, FileMode.Open, FileAccess.Read);
doc.Load(fs);
StringBuilder sb = new StringBuilder();
System.IO.TextWriter tr = new System.IO.StringWriter(sb);
XmlTextWriter wr = new XmlTextWriter(tr);
wr.Formatting = Formatting.Indented;
doc.Save(wr);
wr.Close();
return sb.ToString();
}
关于c# - 如何在WPF中的TextBlock中显示解析后的xml?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20074917/