найти и заменить текст в XML - PullRequest
0 голосов
/ 18 октября 2019

Попытка отредактировать значение maxTreeAgeInit = "50.0" в xml-файле (набросок следующим образом)

середина моего xml-файла (xml version = "1.0" encoding = "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".

...