如何为每个读取的XML对象生成对应单独文件?R语言xml2求助
解决方案
当然可以实现这个需求,你可以借助xml2包的write_xml()函数,遍历读取到的XML对象列表,逐个将其写入单独文件。
代码示例
library(xml2) # 读取目标文件夹下所有XML文件 filenames <- list.files("PATH/", pattern="*.xml", full.names=TRUE) ldf <- lapply(filenames, read_xml) # 定义输出文件名(这里在原文件名后加"_export"做区分,避免覆盖原文件) output_names <- gsub("\\.xml$", "_export.xml", filenames) # 遍历写入每个XML对象 mapply(function(xml_data, save_path) { write_xml(xml_data, save_path) }, ldf, output_names)
关键说明
write_xml()是xml2包原生的XML对象保存函数,能完整保留XML的层级结构与内容- 示例里用
gsub()修改原文件名生成输出路径,你可以根据需求调整命名规则,比如直接使用原文件名(不推荐,易误删原始文件) mapply()用来同步匹配XML对象列表和输出路径列表,确保每个XML对象对应写入正确的文件
内容的提问来源于stack exchange,提问作者Inuraghe
相关产品推荐
相关产品推荐

