3 个版本
使用旧的 Rust 2015
0.1.2 | 2018年4月4日 |
---|---|
0.1.1 | 2018年4月4日 |
0.1.0 | 2017年2月8日 |
#15 in #json-xml
21 每月下载次数
10KB
183 代码行
node2object
在 XML 节点(treexml)和 JSON 对象(serde-json)之间进行转换。
示例
extern crate treexml;
#[macro_use]
extern crate serde_json;
extern crate node2object;
fn main() {
let dom_root = treexml::Document::parse("
<population>
<entry>
<name>Alex</name>
<height>173.5</height>
</entry>
<entry>
<name>Mel</name>
<height>180.4</height>
</entry>
</population>
".as_bytes()).unwrap().root.unwrap();
assert_eq!(serde_json::Value::Object(node2object::node2object(&dom_root)), json!(
{
"population": {
"entry": [
{ "name": "Alex", "height": 173.5 },
{ "name": "Mel", "height": 180.4 }
]
}
}
));
}
lib.rs
:
在 XML 节点(treexml)和 JSON 对象(serde-json)之间进行转换。
示例
extern crate treexml;
#[macro_use]
extern crate serde_json;
extern crate node2object;
fn main() {
let dom_root = treexml::Document::parse("
<population>
<entry>
<name>Alex</name>
<height>173.5</height>
</entry>
<entry>
<name>Mel</name>
<height>180.4</height>
</entry>
</population>
".as_bytes()).unwrap().root.unwrap();
assert_eq!(serde_json::Value::Object(node2object::node2object(&dom_root)), json!(
{
"population": {
"entry": [
{ "name": "Alex", "height": 173.5 },
{ "name": "Mel", "height": 180.4 }
]
}
}
));
}
依赖项
~3.5–5MB
~99K SLoC