QXmlEdit 在异常情况下的 7 个特性

QXmlEdit 的特性使复杂任务比您日常使用的 XML 编辑器更快更轻松。
529 位读者喜欢这篇文章。
A introduction to creating documents in LaTeX

Opensource.com

QXmlEdit 是一款使用 Qt 库编写的开源 XML 编辑器,它具有一些不寻常的特性,可以在复杂情况下帮助您。

普通的 XML 编辑器可以使以结构化形式编写长 XML 文档比将其作为文本铺开更容易。(你有没有这样做过?)即便如此,迟早您会遇到基本编辑器不够用的情况。例如,您可能需要使用您从未想过的 基数 来操作数据,或者处理二进制数据,或者在语义级别比较两个 XML 模式定义 (XSD)。QXmlEdit 在 Linux、Windows、MacOS 和 OS/2 上运行,具有可以在这些情况下帮助您的功能。

让我们深入了解。

数据之旅

大数据可能会生成巨大的 XML 文件,这些文件对于某些编辑器来说太大而无法打开。QXmlEdit 可以将数据显示为地图,其中水平延伸是元素的嵌套级别,不同的颜色对应于 XML 的不同维度,例如,子元素的数量、属性、文本大小或累积总和。使用图像处理技巧突出显示峰值。3D 视图允许您将值的差异评估为峰和谷。它还生成一组关于元素分布及其之间链接的统计信息。

Map view of XML data

opensource.com

View of relationships between elements

opensource.com

处理二进制文件和 Base64

XML 是携带数据的信封,但是除非二进制文件转换为文本,否则不允许使用二进制文件。Base64 是最常见的转换,并且受到 XSD 标准的支持。在 QXmlEdit 中,Base64 数据是文本或元素的选项;您可以将文件从文件系统插入到文本字段或属性中,并且如果二进制数据是文本或另一个 XML 片段,您也可以从 Base64 转换它,编辑它,然后在编辑器中将其重新转换为 Base64。搜索面板允许您在搜索域中包含 Base64 编码的文本。对于更繁重的工作,有一个面板可以将数据转换为 Base64,与源并排。

Base64 panel

opensource.com

研究历史记录

XML 的任务,特别是专门的 XSD 格式的任务,是在程序之间或系统之间传递。(这里的传递是指 XML 用于在程序之间交换数据,因此 XML 数据被发送和接收。)当文件经常被修改时,例如当开发团队一起工作时,QXmlEdit 可以使用处理指令形式的元数据,对通常的数据处理透明,以识别当前版本。

某些数据,例如文件的日期、作者或修订号,可以在每次保存时自动更新,而其他数据可以使用面板进行编辑。

Metadata editing panel

opensource.com

使其美观

XML 是为人类设计的,因此它的结构和语法使您可以在文本编辑器中编写和阅读它,但是格式化和缩进使其更容易一目了然地阅读和理解。

QXmlEdit 提供了在编辑器中格式化 XML 的选项,然后保存格式化设置并将其存储在文件中。属性可以按字母顺序排序,每行显示一个或分组。例如,您可以查看子元素的序号,并显示分支的直接和间接子元素的计数。

保存数据时,您可以应用不同的设置或按照读取数据的相同顺序写入数据;预设可以帮助您选择最常见的格式样式。这些设置可以作为处理指令保存在 XML 文件中,并在加载时重新应用。

Formatting options

opensource.com

Configuring the display style in the task panel

opensource.com

将文档拆分为片段

片段提取是一种操作 XML 文档的方法,这些文档太大而无法放入内存,或者必须拆分。您可以将片段提取到新文件中,过滤源 XML 的内容,或者在 CSV 文件中提取目标元素的属性。提取片段时,您可以创建子文件夹结构,以避免在单个目录中生成数千个文件。拆分条件的控制可以由片段计数器、属性评估等设置。在操作结束时,您可以在编辑器中浏览提取的片段。使用此功能,您可以剪切或隔离部分数据,而无需手动操作。

Extracting fragments

opensource.com

掩盖您的数据

当您进行测试时,尤其是在进行回归测试时,数据应尽可能真实,但是您不能使用或与其他希望分析和解决问题的开发人员共享真实的生产数据。QXmlEdit 的匿名化功能保留 XML 文件的结构,但掩盖了您不想公开共享的任何数据。您可以使用编辑器创建规则来掩盖数据的某些部分,然后在其他文件(即使是大型文件)上批量重新应用该操作。不保留原始数据,仅保留结构和有效负载类型,从而允许将生成的文件用于测试和分析。由于 QXmlEdit 是开源的,因此您也可以查看代码并实现您选择的新算法。

Anonymizing data

opensource.com

比较 XSD

XSD 对于公开系统之间交换的数据格式非常有用。要识别上一个版本和当前版本之间发生了哪些更改,您可以使用 XSD Diff 功能。每个更改都以不同的颜色显示,并且摘要表使用户可以直接跳转到选定的更改。生成的图形可以导出为 PDF 或 SVG 格式,以便包含在项目文档中。

Diff of XSD

opensource.com

QXmlEdit 提供了一组实用程序来管理 XML 文件并解决相关问题,从结构到编码,这些实用程序可能不是新的,但绝对方便直接在编辑器中使用。

有关更深入的信息,包括关于这些主题和其他主题的教程,请访问 QXmlEdit 网站

User profile image.
我是 QXmlEdit 项目的创始人和维护者。我在商业客户沟通管理领域工作,并且在医疗保健软件领域(包括管理和设备固件)拥有经验。我是一名自由软件的支持者。

1 条评论

非常酷。我在工作和家庭中都使用 Docbook 或 XML,所以我期待看看 QXmlEdit。谢谢!

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 获得许可。
© . All rights reserved.