情況:將「軟件」複製到R並返回到「軟件」。 「軟件」的唯一接口是xml。要列出並返回XML的XML
在R中,我需要對文件進行一些更改,以便將其轉換爲列表並進行一些更改。
library(XML)
myFile = xmlParse("myXML")
xml_data <- xmlToList(myFile)
xml_data$timetable$train$.attrs[6] = "HelloNewWorld"
現在我需要將此列表「xml_data」轉換回xml。
我發現了一些功能,像這樣:
function(item, tag) {
# just a textnode, or empty node with attributes
if(typeof(item) != 'list') {
if (length(item) > 1) {
xml <- xmlNode(tag)
for (name in names(item)) {
xmlAttrs(xml)[[name]] <- item[[name]]
}
return(xml)
} else {
return(xmlNode(tag, item))
}
}
# create the node
if (identical(names(item), c("text", ".attrs"))) {
# special case a node with text and attributes
xml <- xmlNode(tag, item[['text']])
} else {
# node with child nodes
xml <- xmlNode(tag)
for(i in 1:length(item)) {
if (names(item)[i] != ".attrs") {
xml <- append.xmlNode(xml, listToXml(item[[i]], names(item)[i]))
}
}
}
# add attributes to node
attrs <- item[['.attrs']]
for (name in names(attrs)) {
xmlAttrs(xml)[[name]] <- attrs[[name]]
}
return(xml)
}
但是,這並不工作...
任何幫助或暗示的讚賞!
謝謝!
在鏈接的圖片中,您可以看到當前的xml文件。用黃色突出顯示我需要更改的值。
鏈接:
https://i.stack.imgur.com/remzj.png
它可能有助於看到XML,當前和預期的結果。 – Parfait