forked from NationTech/harmony
		
	
		
			
				
	
	
		
			21 lines
		
	
	
		
			743 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			21 lines
		
	
	
		
			743 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
| use yaserde::YaSerialize;
 | |
| 
 | |
| pub fn to_xml_str<T: YaSerialize>(model: &T) -> Result<String, String> {
 | |
|     let yaserde_cfg = yaserde::ser::Config {
 | |
|         perform_indent: true,
 | |
|         write_document_declaration: false,
 | |
|         pad_self_closing: false,
 | |
|         ..Default::default()
 | |
|     };
 | |
|     let serialized = yaserde::ser::to_string_with_config::<T>(model, &yaserde_cfg)?;
 | |
| 
 | |
|     // Opnsense does not specify encoding in the document declaration
 | |
|     //
 | |
|     // yaserde / xml-rs does not allow disabling the encoding attribute in the
 | |
|     // document declaration
 | |
|     //
 | |
|     // So here we just manually prefix the xml document with the exact document declaration
 | |
|     // that opnsense uses
 | |
|     Ok(format!("<?xml version=\"1.0\"?>\n{serialized}\n"))
 | |
| }
 |