我的应用程序中有一个RichTextBox,我想在其中显示来自externhal .xml文件的XML。但我需要以xml格式颜色显示节点/属性/值/注释。我也经历了XML Highlight in RichTextBox链接。但它对我没有帮助。因为我没有多少时间完成这项任务。那么我可以获得任何API或一些已经构建的代码吗?
我按以下方式加载XML
XmlDocument doc = new XmlDocument();
doc.Load("filepath.xml");
gameListXMLRichText.Document.Blocks.Clear();
gameListXMLRichText.AppendText(doc.InnerXml.ToString());
从上面的link格式化有很多问题。但由于时间关系,我现在无法通过。所以请帮助我。在此先感谢。
修改 因为我从link获取代码并将代码应用于简单的xml。结果如下所示
但它应该看起来像
对我来说,只需要适当的颜色。不需要正确的格式化。
答案 0 :(得分:11)
您可以使用AvalonEdit控件
你可以从nuGet获得它:http://www.nuget.org/packages/AvalonEdit
请参阅:http://www.codeproject.com/Articles/42490/Using-AvalonEdit-WPF-Text-Editor以获取有关如何使用它的指南。
这将为您提供XML语法突出显示并将作为编辑器运行 - 设置有点古怪,但在我的经验中确实很有效。只需在XAML中使用SyntaxHighlighting="XML"
。
答案 1 :(得分:3)
它真的很简单。
或 右键单击Solution Explorer中的Project并单击Manage NuGet Packages,现在单击Online和Search Avalon Editor。然后安装AvalonEditor
只需在xaml文件中添加以下代码即可。
的xmlns:avalonedit = “http://icsharpcode.net/sharpdevelop/avalonedit”
现在添加您的TextEditor如下
< avalonedit:TextEditor SyntaxHighlighting =“XML”x:Name =“gameListXMLText”Height =“200”>
现在只需加载xml文件,如下所示
gameListXMLText.Text = File.ReadAllText("sample.xml");
多数民众赞成:)嘻哈哈里:)谢谢阿瓦隆