如何使用R编辑html文件中的代码

时间:2018-07-27 06:51:19

标签: r rstudio

我有一个html文件。

<!DOCTYPE HTML>
   <html><head>
   <meta http-equiv="content-type" content="text/html; charset=UTF-8">
   <title></title>
   </head>
   <body>
    <div align="left" style="height: 475px;">
    <noscript><div style="color: red; width: 30%; border: 1px solid red; padding: 4px; font-family: sans-serif;"></div></noscript>
    <div id="x"></div>
    <script type="text/javascript" src="x.js"></script>
    <script type="text/javascript">x.embed("x","720px","475px","x.xml","true","false");</script>
    </div>
    </body>
</html>

我想在<head></head>内插入css脚本,文件变成这个:

<!DOCTYPE HTML>
   <html><head>
   <meta http-equiv="content-type" content="text/html; charset=UTF-8">
   <title></title>
   <style type="text/css">
      body{margin: 0px 0px 0px 0px; background-color:black;}
   </style>
   </head>
   <body>
    <div align="left" style="height: 475px;">
    <noscript><div style="color: red; width: 30%; border: 1px solid red; padding: 4px; font-family: sans-serif;"></div></noscript>
    <div id="x"></div>
    <script type="text/javascript" src="x.js"></script>
    <script type="text/javascript">x.embed("x","720px","475px","x.xml","true","false");</script>
    </div>
    </body>
</html>

有人可以告诉我如何使用R进行操作的步骤吗? 详细的解释将不胜感激!谢谢!

1 个答案:

答案 0 :(得分:0)

您可以这样做:

library(xml2)
h <- as_list(read_html("yourfile.html"))
css <- list('body {background-color:black;}')
attr(css, "type") <- "text/css"
h$html$head$style <- css

write_html(as_xml_document(h$html), "outfile.html", 
           options=c("format","no_declaration"))

outfile.html

<head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
  <title></title>
  <style type="text/css">body {background-color:black;}</style>
</head>