查找并替换xml中的文本

时间:2019-10-18 04:30:54

标签: r xml stringr base stringi

尝试在xml文件中编辑maxTreeAgeInit =“ 50.0”的值(概述如下)

我感兴趣的xml文件(xml版本=“ 1.0”编码=“ utf-8”)的中间:

<InitTreeF treeExistsInit="true" maxTreeAgeInit="50.0" avgTreeAgeInit="50.0" tInitStem="Frac" stemMInitF="" branMInitF="" barkMInitF="" leafMInitF="" cortMInitF="" firtMInitF="" stemVolInitF="" stemFracInitF="0.422069892" branFracInitF="0.199533585" barkFracInitF="0.113706229" leafFracInitF="0.059503198" cortFracInitF="0.17649553" firtFracInitF="0.028691566" stemNCRatioInitF="" branNCRatioInitF="" barkNCRatioInitF="" leafNCRatioInitF="" cortNCRatioInitF="" firtNCRatioInitF="" storNMInitF="" stemM3PGInit="" foliM3PGInit="" rootM3PGInit="" nStemsInit="" frFracInit="1.0" tFrFracInit="FracConst" treeNmInit="Eucalyptus Tall Open Forest" agRegimeId="943207214" />
z <- c("InitTreeF treeExistsInit="true" maxTreeAgeInit="50.0"")

y <- c("InitTreeF treeExistsInit="true" maxTreeAgeInit="60.0"")

xml_1 <- str_replace(stri_read_lines("Southern_NSW_prescribed_1000yr.plo"), z, y)

我正在使用的R脚本标记错误,例如对于z:“意外令牌'true',意外令牌'50 .0'

大图:我希望修改xml文件参数值,该值输入到外部cmd model.bat中,这是从Windows中的批处理文件调用的,因此我可以使用不同的参数值多次运行model.bat。

我正在使用的R脚本(如下)标记错误,例如对于z:“意外令牌'true',意外令牌'50 .0'

z <- c("InitTreeF treeExistsInit="true" maxTreeAgeInit="50.0"")

y <- c("InitTreeF treeExistsInit="true" maxTreeAgeInit="60.0"")

xml_1 <- str_replace(stri_read_lines("Southern_NSW_prescribed_1000yr.plo"), z, y)

我认为我需要转义'true'和'50'才能以文本字符串的形式从xml文件中读取行,然后其余R脚本应该可以正常工作,因为它确实可以处理文本带有简单文本的文件,其中没有=“ true”或=“ 50”。

0 个答案:

没有答案