我需要用来serde序列化一些 XML 数据。数据具有一种模式,其中复数形式的标签名称(例如 CATS、DOGS)将包含单数形式的标签子标签的多个实例(CAT、DOG),如下所示:
<pets>
<cats>
<cat>
<name>
cat 1
</name>
</cat>
<cat>
<name>
cat 2
</name>
</cat>
</cats>
<dogs>
<dog>
<name>
dog 1
</name>
</dog>
<dog>
<name>
dog 2
</name>
</dog>
</dogs>
</pets>
Run Code Online (Sandbox Code Playgroud)
现在,我可以用serdeand反序列化它serde-xml-rs:
use serde::{Serialize, Deserialize};
use serde_xml_rs;
#[derive(Debug, Serialize, Deserialize)]
struct Pets {
pub cats: Cats,
pub dogs: Dogs,
}
#[derive(Debug, Serialize, Deserialize)]
struct Cats {
pub cat: Vec<Cat>,
}
#[derive(Debug, Serialize, Deserialize)]
struct Dogs {
pub dog: Vec<Dog>,
}
#[derive(Debug, …Run Code Online (Sandbox Code Playgroud)