0
考虑下面的(准)欧洲专利局的专利服务器REPO的XML结构:选择xml_nodes
<ep-patent-document id="EP79301547B1" file="EP79301547NWB1.xml" lang="en" country="EP" doc-number="0007815" kind="B1" date-publ="19871021" status="n" dtd-version="ep-patent-document-v1-1">
<SDOBI lang="en">
<B000>...</B000>
<B100>...</B100>
<B200>
<B210>79301547.0</B210>
<B220>
<date>19790801</date>
</B220>
<B240/>
<B250>en</B250>
<B251EP>en</B251EP>
<B260>en</B260>
</B200>
<B300>...</B300>
<B400>...</B400>
<B500>...</B500>
<B700>...</B700>
<B800>...</B800>
</SDOBI>
<!-- EPO <DP n="1"> -->
<!-- EPO <DP n="2"> -->
<description id="desc" lang="en">...</description>
<claims id="claims01" lang="en">...</claims>
<claims id="claims02" lang="de">...</claims>
<claims id="claims03" lang="fr">...</claims>
</ep-patent-document>
我想选择的数量节点“B210”和“说明”中的文字。
使用
library(httr)
library(rvest)
library(XML)
library(magrittr)
files1993 <- list.files("~/Downloads", full.names=TRUE, recursive=TRUE)
y <- files1993[1]
parse1993 <- htmlParse(y)
parse1993 %>% xml_nodes("description")
parse1993 %>% xml_nodes("SDOBI") %>% xml_nodes("B210")
我得到的说明文字,但没有为B210。事实上,该命令不适用于任何信息。我是否必须将SDOBI中提供的信息转换为文本?我有点迷失在这里。任何帮助高度赞赏。
为什么不使用'xmlParse'? ''parse1993%>%xml_nodes(“SDOBI”)%>%xml_nodes(“B210”)'正常工作,然后 – hrbrmstr 2015-02-23 14:29:25
从Hadley尝试'xml2':'library(xml2); xml < - xml('... your.example ...'); xml_text(xml_find(xml,“// B210 | // description”));#[1]“79301547.0”“...”'。 – lukeA 2015-02-23 14:32:30