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