#xml #patch #yaml #change #load #generic #stable

nightly bin+lib patch-xml

加载和修复 XML 文件。预 Alpha 版本。直到 0.1.0 版本前没有稳定接口。

3 个版本

0.0.3 2021 年 4 月 18 日
0.0.2 2021 年 4 月 7 日
0.0.1 2021 年 3 月 13 日

#87#patch


用于 patch-svd

MIT/Apache

185KB
2K SLoC

Crates.io Docs Actions Status grcov

patch-xml 是一个工具和库,用于读取和修复 XML 文件。

用法

patch-xml 可以用于使用 YAML 格式的通用补丁更改 XML 文件。
该工具的一般思路是基于补丁中定义的规则动态更改 XML 文件的某些部分。

以下是一个示例代码,展示了如何使用此库。
之后,将详细介绍补丁规则。

如何使用 patch-xml 库

目前,由于使用了 external_doc-feature,patch-xml 将需要不稳定 Rust 工具链。此功能的状态取决于 此拉取请求

use indoc::indoc;
let original_xml = r#"<element>Foo</element>"#;
let patch = indoc!(
    r#"
    element:
        Bar"#
    );
let result_xml = r#"<?xml version="1.0" encoding="UTF-8"?><element>Bar</element>"#;
// Load XML string, patch it and return the result as string
let result = patch_xml::patch_xml(original_xml.to_string(), patch.to_string()).unwrap();
assert_eq!(result, result_xml);

还可以将 patch-xml 作为命令行工具使用。

补丁语法

语法几乎稳定,并将很快在此处进行文档化...

依赖

~4.5–6.5MB
~121K SLoC