繁体   English   中英

WPF C#的XML语法突出显示

[英]XML Syntax Highlight for WPF C#

我的应用程序中有一个RichTextBox,我想在其中显示来自externhal .xml文件的XML。 但我需要以xml格式颜色显示节点/属性/值/注释。 也在RichTextBox Link中浏览了XML Highlight 但它对我没有帮助。 因为我没有多少时间完成这项任务。 那么我可以获得任何API或一些已经构建的代码吗?

我加载XML如下

XmlDocument doc = new XmlDocument();
doc.Load("filepath.xml");
gameListXMLRichText.Document.Blocks.Clear();
gameListXMLRichText.AppendText(doc.InnerXml.ToString());

从上面的链接格式化有很多问题。 但由于时间关系,我现在无法通过。 所以请帮助我。 提前致谢。

编辑:因为我从链接中获取代码并将代码应用于简单的xml。 结果如下所示

XML结构

但它应该看起来像

在此输入图像描述

对我来说,只需要适当的颜色。 不需要正确的格式化。

代码链接是: http//blogs.msdn.com/cfs-file.ashx/__key/communityserver-components-postattachments/00-10-12-22-80/highlightRTF.txt

您可以使用AvalonEdit控件

你可以从nuGet获得它: http ://www.nuget.org/packages/AvalonEdit

请参阅: http//www.codeproject.com/Articles/42490/Using-AvalonEdit-WPF-Text-Editor以获取有关如何使用它的指南。

这将为您提供XML语法突出显示并将作为编辑器运行 - 它有点古怪,但我的经验确实很有效。 只需在XAML中使用SyntaxHighlighting="XML"

它真的很简单。

  1. 首先您需要从Manage NuGet Packages安装AvalonEdit。 使用以下链接安装说明http://www.nuget.org/packages/AvalonEdit

或者右键单击解决方案资源管理器中的Project并单击Manage NuGet Packages,现在单击Online和Search Avalon Editor。 然后安装AvalonEditor

  1. 只需在xaml文件中添加以下代码即可。

    的xmlns:avalonedit = “http://icsharpcode.net/sharpdevelop/avalonedit”

  2. 现在添加您的TextEditor如下

    <avalonedit:TextEditor SyntaxHighlighting =“XML”x:Name =“gameListXMLText”Height =“200”>

  3. 现在只需加载xml文件,如下所示

     gameListXMLText.Text = File.ReadAllText("sample.xml"); 

多数民众赞成:)嘻哈哈里:)谢谢阿瓦隆

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM