#mysql #quick-xml #xml-format #parser #convert #struct

mysqldump-quick-xml

使用 quick-xml 将 mysqldump 的 xml 格式转换为结构体

1 个不稳定版本

0.1.0 2019年3月23日

#8#quick-xml

Unlicense 或 MIT

5KB

mysqldump-quick-xml - 使用 quick-xml 将 mysqldump 的 xml 格式转换为结构体的 derive 宏

双授权许可 MIT 或 UNLICENSE

功能

  1. 解析 xml 文件格式的 mysqldump。

用法

将依赖项添加到 Cargo.toml

[dependencies]
mysqldump-quick-xml = "0.1"

use mysqldump_quick_xml::MysqlDumpQuickXml;

#[derive(Debug, PartialEq, MysqlDumpQuickXml)]
struct Row {
    id: String,
    code: String,
}

fn main() {
    let xml = r##"
<?xml version="1.0"?>
<mysqldump xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<database name="db">
<table_data name="table1">
    <row>
        <field name="id">1</field>
        <field name="code">sample 1</field>
    </row>
    <row>
        <field name="id">2</field>
        <field name="code">sample 2</field>
    </row>
</table_data>
</database>
</mysqldump>
        "##;

    let rows = Row::from_str(xml);

    assert_eq!(
        rows,
        vec![
            Row {
                id: "1".into(),
                code: "sample 1".into()
            },
            Row {
                id: "2".into(),
                code: "sample 2".into()
            }
        ]
    )
}

依赖项

~6.5MB
~189K SLoC