我需要读取一个 xml 文件, 并打算修改其中的内容, 再将修改后的内容 http post 到一个服务上.
使用的是 xml-rs
fn generate_job_config_xml(git_remote_url: &str, job_config_xml_file_path: &str) -> Result<String, Box<dyn std::error::Error>> {
let job_config_xml_file: File = fs::File::open(job_config_xml_file_path).unwrap();
let job_config_xml_file: BufReader<File> = BufReader::new(job_config_xml_file);
let job_config_xml_parser: EventReader<BufReader<File>> = xml::reader::EventReader::new(job_config_xml_file);
/*
之后我不知道该怎么处理这个变量, 修改其中的某个 `XmlEvent` 的值,
然后将修改后的内容转成字符串
*/
for e in job_config_xml_parser {
// println!("XmlEvent 值为: {:?}", e.unwrap());
match e {
Ok(XmlEvent::Characters(t)) => {
match t {
"git@gitlab.com:xx/xx.git".to_string() => {
// 修改 job_config_xml_parser 变量中这个地方的值为 git@gitlab.com:yy/yy.git
}
}
}
// 其它的不管
}
}
Ok("sth".to_string())
}
我应该怎么处理这个情况? 麻烦给个提示.
现在我尝试使用其它的库, 比如 minidom, 不知道是否有自带的修改方法, 正在研究文档中.
初学 rust, 请勿见笑😅
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.