首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用xml2解析html-注释

用xml2解析html-注释
EN

Stack Overflow用户
提问于 2017-12-20 15:39:37
回答 1查看 322关注 0票数 2

我开始尝试使用xml2-package来解析一些Rmarkdown Files。现在,我非常热衷于分析html-以结构化的方式解析注释,以及解析各节之间的信息(例如,####等)。

我目前试图访问评论的内容可以在下面找到。

代码语言:javascript
复制
library(xml2)
library(magrittr)

# html-output as created by rmarkdown
x <- xml2::read_xml("
  <div id='header-level-1' class='section level1'>
  <h1>Header Level 1</h1>
  <!-- This is a comment, which I want to parse -->
  <div id='header-level-4-1' class='section level4'>
  <h4>Header Level 4 (1)</h4>
  <!-- parse me 4 (1) -->
  <p>Hello!</p>
  </div>
  <div id='header-level-4-2' class='section level4'>
  <h4>Header Level 4 (2)</h4>
  <!-- parse me 4 (2) -->
  <p>How are you?</p>
  <pre class='r'><code>print(&quot;Hello World&quot;)</code></pre>
  </div>
  </div>
")

# inspecting the structure, {comments} are present as a structural element
x %>% 
  html_structure()
#> <div#header-level-1 .section.level1>
#>   <h1>
#>     {text}
#>   {comment}
#>   <div#header-level-4-1 .section.level4>
#>     <h4>
#>       {text}
#>     {comment}
#>     <p>
#>       {text}
#>   <div#header-level-4-2 .section.level4>
#>     <h4>
#>       {text}
#>     {comment}
#>     <p>
#>       {text}
#>     <pre.r>
#>       <code>
#>         {text}

# first attempt to acess content of comments
x %>% 
  xml_find_all("//div") %>%
  sub("^.*<!-- ", "", .) %>% 
  sub(" -->.*$", "", .)
#> [1] "parse me 4 (2)" "parse me 4 (1)" "parse me 4 (2)"

我敢肯定还有更好的办法吗?理想情况下,我会得到评论,并保持层次结构(这些注释属于哪些标题,例如)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-12-20 16:47:25

代码语言:javascript
复制
xml_find_all(x, ".//*/comment()/../div")
## {xml_nodeset (2)}
## [1] <div id="header-level-4-1" class="section level4">\n  <h4>Header Level 4 (1)</h4>\n  <!-- parse me 4 (1) -->\n  <p>He ...
## [2] <div id="header-level-4-2" class="section level4">\n  <h4>Header Level 4 (2)</h4>\n  <!-- parse me 4 (2) -->\n  <p>Ho ...
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47909653

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档