R:存储多行html文本并作为对象传递

时间:2014-09-26 15:40:22

标签: html r text cat

我正在尝试整合googleVis和KML。我需要能够将存储多行html代码的对象传递给我的KML对象中的弹出窗口。但是我无法弄清楚如何在R中存储多行文本对象。因为我需要粘贴HTML,所以我不能有'\ n'之类的换行符等。

这是一个不起作用的例子:

install.packages('googleVis')
library(googleVis)
chart =  gvisCandlestickChart(OpenClose, xvar="Weekday", low="Low",
                                    open="Open", close="Close",
                                    high="High",
                                    options=list(legend='none'))

我需要存储一个与

相同的对象
print(chart)
"<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>CandlestickChartID27d81b892d9b</title>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<style type="text/css">
body {
...."

基本上我需要传递一个包含有效html代码的对象,该代码可以用于我的KML弹出窗口。

我尝试了各种方法。粘贴添加'\ n',cat不能存储为多行。我最接近的是做以下

  description <-   capture.output(cat(unlist(chart$html)))

给出:

 head(description)
[1] "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\""              
[2] "  \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">"                
[3] "<html xmlns=\"http://www.w3.org/1999/xhtml\">"                           
[4] "<head>"                                                                  
[5] "<title>CandlestickChartID27d81b892d9b</title>"                           
[6] "<meta http-equiv=\"content-type\" content=\"text/html;charset=utf-8\" />"

任何建议???有什么方法可以存储HTML对象吗?

2 个答案:

答案 0 :(得分:1)

我无法理解你想要实现的目标。 如果你在jsfiddle中添加你的代码会很有帮助,这样专家就可以在更短的时间内理解问题并回答

我建议尝试在文本中添加<br>标记,这样它就会变成多行,您可以在任何需要的位置打破。

感谢

答案 1 :(得分:0)

如果您将回车符从“\ n”更改为“\ r”

,似乎可以将其用作html
  description <-  paste( capture.output(cat(unlist(chart$html))),collapse='\r')

现在可以将描述作为包含html代码的对象传递!是的。