我在R-Shiny的 server.R 脚本的 renderPlot 函数中解析上传的XML文件
output$oscar <- renderPlot({
doc <- xmlParse("www/Human_body_front_and_side.svg.eps.xml")
#load the XML as a picture
body<-readPicture(saveXML(doc))
#plot it
grid.arrange(pictureGrob(body), ncol=1)
})
但是我在解析时遇到以下错误:
XML content does not seem to be XML
我加载了正确的库(shiny
,XML
),并检查上传的xml文件是否合适。
有趣的是,如果在启动R-Shiny的“runApp”之前,我在R终端中做了:
doc <<- xmlParse("Human_body_front_and_side.svg.eps.xml")
没有错误,一切正常。所以看起来R shiny有解析xml的问题。我是R-Shiny的新手,因此有没有人看到识别XML文件需要什么?
答案 0 :(得分:2)
ui.R:
library(shiny)
shinyUI(fluidPage(
titlePanel("Human body"),
sidebarLayout(
sidebarPanel(
),
mainPanel(
plotOutput("humanBody")
)
)
))
server.R
library(shiny)
library(XML)
library(grImport)
library(gridExtra)
# Define server logic to draw a histogram
shinyServer(function(input, output){
output$humanBody <- renderPlot({
doc <- readPicture("./www/Human_body_front_and_side.svg.eps.xml")
grid.arrange(pictureGrob(doc), ncol=1)
})
})
如果目标是从xml绘制人体,则此代码有效。解析xml不是必需的,因为readPicture()函数需要一个文件已经存在的XML。如果这有帮助,请告诉我。