Мне нужно удалить несколько вхождений символа (одинарной кавычки) в комментариях в файле XML в R, а затем сохранить его обратно в XML. Я должен сделать это в тысячах XML файла.
В каждом файле XML одинарная кавычка встречается более 50 раз и представлена в различной дочерней иерархической структуре (некоторые дочерние и некоторые дочерние). Но всегда присутствует в комментариях.
Я пытался использовать пакет XML в R. Сначала я попытался включить этот файл XML, но не знал, как действовать дальше.
library(XML);library(xml2);library(methods);library(tidyverse)
#Read one XML file
filepath <- "C:/Users/PeriaPr/Desktop/repex1.xml"
onefile <- xmlTreeParse(gsub("'","",readLines(filepath)),asText = TRUE)
xmlroot <- xmlRoot(onefile)
var <- xmlSApply(xmlroot, function(x) xmlSApply(x, xmlValue))
Вот воспроизводимый пример моего XML файла. Одиночные кавычки (вокруг Orange, Apple и Banana) должны быть удалены в этой иерархической структуре с несколькими деревьями. Кавычки встречаются почти 50 раз в одном XML файле, и мне нужно обработать (удалить одиночные кавычки) 1000 с XML файлов
<?xml version = "1.0" encoding = "windows-1252"?><document id="myrepex.xml">
<action_step step_no="1.3.1.1">
<step>1</step>
<title><![CDATA[Part1 - 'Apple']]></title>
<start><![CDATA[2019/08/09 7:57:17]]></start>
<duration><![CDATA[0 Hr. 12 Min. 22 Sec.]]></duration>
<status><![CDATA[Passed]]></status>
</action_step>
<action_step step_no="1.4.1.1">
<step>2</step>
<title><![CDATA[Part2 - 'Orange']]></title>
<start><![CDATA[2019/08/09 8:09:39]]></start>
<duration><![CDATA[0 Hr. 32 Min. 55 Sec.]]></duration>
<status><![CDATA[Passed]]></status>
</action_step>
<action_step step_no="1.5.1.1">
<step>68</step>
<title><![CDATA[Part3 - 'Banana']]></title>
<start><![CDATA[2019/08/09 8:42:35]]></start>
<duration><![CDATA[0 Hr. 36 Min. 28 Sec.]]></duration>
<status><![CDATA[Passed]]></status>
</action_step>
<action_step2 secondchild="secondchild">
<action_step2subchild subchild="subchild">
<title><![CDATA[Part3 - 'Banana']]></title>
</action_step2subchild>
</action_step2>