use rustical_xml::{Unparsed, XmlDeserialize, XmlDocument, XmlRootTag}; #[test] fn test_propertyupdate() { #[derive(XmlDeserialize)] struct SetPropertyElement { prop: T, } #[derive(XmlDeserialize)] struct TagName { #[xml(ty = "tag_name")] name: String, } #[derive(XmlDeserialize)] struct PropertyElement { #[xml(ty = "untagged")] property: TagName, } #[derive(XmlDeserialize)] struct RemovePropertyElement { prop: PropertyElement, } #[derive(XmlDeserialize)] enum Operation { Set(SetPropertyElement), Remove(RemovePropertyElement), } #[derive(XmlDeserialize, XmlRootTag)] #[xml(root = b"propertyupdate")] struct PropertyupdateElement { #[xml(ty = "untagged", flatten)] operations: Vec>, } let doc = PropertyupdateElement::::parse_str( r#" Hello "#, ) .unwrap(); }