c# - 如何在WPF中的TextBlock中显示解析后的xml?

标签 c# xml wpf xaml

我有名为 XML_ViewTextBlock,我也知道 .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/

相关文章:

c# - 为什么这个任务会提前返回?我做错了什么吗?

使用调试器时更改的 C# 变量内容

c# - 将 XML 数据读入 C# 应用程序

javascript - 使用 Jquery 对 IE7+ 和 Mozilla 进行 XML 解析

c# - 无法转换为基类

C#:应用程序中的内部文件数据库

wpf - 独立的 Outlook 应用程序 - 数据绑定(bind)到文件夹邮件的方式?

c# - 错误代码 : procedure has too many arguments specified

c# - 当 UWP TextBlock 移出其容器时对其进行剪辑

c# - 无法从存储过程中获取值