R-如何根据名称从位于特定深度级别的列表中提取所有项目
我从一个解析过的xml文档中得到了一个xml_数据列表R-如何根据名称从位于特定深度级别的列表中提取所有项目,r,xml,list,R,Xml,List,我从一个解析过的xml文档中得到了一个xml_数据列表 library(XML) library(httr) identifiant_du_document = "ark:/12148/bpt6k96718891" base_request = "https://gallica.bnf.fr/services/Toc?ark=" api_request = paste0(base_request,identifiant_du_document) get_volume1 <- GET(a
library(XML)
library(httr)
identifiant_du_document = "ark:/12148/bpt6k96718891"
base_request = "https://gallica.bnf.fr/services/Toc?ark="
api_request = paste0(base_request,identifiant_du_document)
get_volume1 <- GET(api_request)
doc<-xmlParse(get_volume1)
xml_data <- xmlToList(doc)
等等……库(xml2)
library(xml2)
library(httr)
httr::GET(
url = "https://gallica.bnf.fr/services/Toc",
query = list(
ark = "ark:/12148/bpt6k96718891"
)
) -> res
doc <- xml_ns_strip(httr::content(res, as="parsed"))
xml_find_all(doc, ".//head") %>%
xml_text(trim=TRUE
## [1] "TABLE DES MATIÈRES." "DÉCEMBRE 1863." "24 DÉCEMBRE." "25 DÉCEMBRE."
## [5] "26 DÉCEMBRE." "27 DÉCEMBRE." "28 DÉCEMBRE." "29 DÉCEMBRE."
## [9] "30 DÉCEMBRE." "31 DÉCEMBRE." "JANVIER 1864." "1er JANVIER."
## [13] "2 JANVIER." "3 JANVIER." "4 JANVIER." "5 JANVIER."
## [17] "6 JANVIER." "7 JANVIER." "8 JANVIER." "9 JANVIER."
## [21] "11 JANVIER." "13 JANVIER." "14 JANVIER." "15 JANVIER."
## [25] "16 JANVIER." "17 JANVIER." "18 JANVIER." "19 JANVIER."
## [29] "20 JANVIER." "21 JANVIER." "22 JANVIER." "23 JANVIER."
## [33] "24 JANVIER." "25 JANVIER." "26 JANVIER." "27 JANVIER."
## [37] "28 JANVIER." "29 JANVIER." "30 JANVIER." "31 JANVIER."
## [41] "FÉVRIER 1864" "1er FÉVRIER." "2 FÉVRIER." "3 FÉVRIER."
## [45] "4 FÉVRIER." "5 FÉVRIER." "6 FÉVRIER." "7 FÉVRIER."
## [49] "8 FÉVRIER." "9 FÉVRIER." "10 FÉVRIER." "11 FÉVRIER."
## [53] "12 FÉVRIER." "13 FÉVRIER." "15 FÉVRIER." "16 FÉVRIER."
## [57] "17 FÉVRIER." "18 FÉVRIER." "19 FÉVRIER." "20 FÉVRIER."
## [61] "21 FÉVRIER."
图书馆(httr)
httr::GET(
url=”https://gallica.bnf.fr/services/Toc",
查询=列表(
ark=“ark:/12148/bpt6k96718891”
)
)->res
doc%
xml_文本(trim=TRUE)
##[1]“MATIÈRES.表”1863年“第24天”和“第25天”
##[5]“26天”、“27天”、“28天”、“29天”
##[9]“30年”、“31年”、“1864年的詹维尔”、“1年的詹维尔。”
##[13]“2詹维尔”、“3詹维尔”、“4詹维尔”、“5詹维尔。”
##[17]“6詹维尔”、“7詹维尔”、“8詹维尔”、“9詹维尔。”
##[21]“11 JANVIER”,“13 JANVIER”,“14 JANVIER”,“15 JANVIER”
##[25]“16 JANVIER”,“17 JANVIER”,“18 JANVIER”,“19 JANVIER”
##[29]“20詹维尔”、“21詹维尔”、“22詹维尔”、“23詹维尔。”
##[33]“24詹维尔”,“25詹维尔”,“26詹维尔”,“27詹维尔”
##[37]“28 JANVIER。”“29 JANVIER。”“30 JANVIER。”“31 JANVIER。”
##[41]“法夫里埃1864”“法夫里埃1号”“法夫里埃2号”“法夫里埃3号。”
##[45]“4层楼”、“5层楼”、“6层楼”、“7层楼。”
##[49]“8层楼”、“9层楼”、“10层楼”、“11层楼。”
##[53]“12层楼”、“13层楼”、“15层楼”、“16层楼。”
##[57]“17层”、“18层”、“19层”、“20层”
##[61]“21 FÉVRIER。”
正是我想要的。我知道,以这种方式使用XML包是可能的。Thks!!
library(xml2)
library(httr)
httr::GET(
url = "https://gallica.bnf.fr/services/Toc",
query = list(
ark = "ark:/12148/bpt6k96718891"
)
) -> res
doc <- xml_ns_strip(httr::content(res, as="parsed"))
xml_find_all(doc, ".//head") %>%
xml_text(trim=TRUE
## [1] "TABLE DES MATIÈRES." "DÉCEMBRE 1863." "24 DÉCEMBRE." "25 DÉCEMBRE."
## [5] "26 DÉCEMBRE." "27 DÉCEMBRE." "28 DÉCEMBRE." "29 DÉCEMBRE."
## [9] "30 DÉCEMBRE." "31 DÉCEMBRE." "JANVIER 1864." "1er JANVIER."
## [13] "2 JANVIER." "3 JANVIER." "4 JANVIER." "5 JANVIER."
## [17] "6 JANVIER." "7 JANVIER." "8 JANVIER." "9 JANVIER."
## [21] "11 JANVIER." "13 JANVIER." "14 JANVIER." "15 JANVIER."
## [25] "16 JANVIER." "17 JANVIER." "18 JANVIER." "19 JANVIER."
## [29] "20 JANVIER." "21 JANVIER." "22 JANVIER." "23 JANVIER."
## [33] "24 JANVIER." "25 JANVIER." "26 JANVIER." "27 JANVIER."
## [37] "28 JANVIER." "29 JANVIER." "30 JANVIER." "31 JANVIER."
## [41] "FÉVRIER 1864" "1er FÉVRIER." "2 FÉVRIER." "3 FÉVRIER."
## [45] "4 FÉVRIER." "5 FÉVRIER." "6 FÉVRIER." "7 FÉVRIER."
## [49] "8 FÉVRIER." "9 FÉVRIER." "10 FÉVRIER." "11 FÉVRIER."
## [53] "12 FÉVRIER." "13 FÉVRIER." "15 FÉVRIER." "16 FÉVRIER."
## [57] "17 FÉVRIER." "18 FÉVRIER." "19 FÉVRIER." "20 FÉVRIER."
## [61] "21 FÉVRIER."