我在从xml提取属性时有问题。我的xml文件如下:
- <export>
+ <ExportRef>
- <BookNodes>
- <Book label="romance">
+ <Showing>
- <Data>
+ <Char1 label="Char1">
- <Char2 label="Char2">
+ <SubChar21>
- <SubChar22>
<Range unit="nm">4</Range>
<Range unit="nm">8</Range>
</SubChar22>
- <Char3 label="Char3">
+ <SubChar31>
- <SubChar32>
<Range Id="1">voc</Range>
<Range Id="2">buc</Range>
</SubChar32>
</Data>
</Book>
- <Book label="horror">
+ <Showing>
- <Data>
+ <Char1 label="Char1">
- <Char2 label="Char2">
+ <SubChar21>
- <SubChar22>
<Range unit="nm">4</Range>
<Range unit="nm">8</Range>
</SubChar22>
- <Char3 label="Char3">
+ <SubChar31>
- <SubChar32>
<Range Id="1">voc</Range>
<Range Id="2">buc</Range>
</SubChar32>
</Data>
</Book>
</BookNodes>
</export>
我只想只有每个书类别的范围ID列表。例如:
浪漫:
id id
1 2
恐怖:
id id
1 2
当我做这样的事情时:
RangeID_1<-xpathSApply(AC_Node[[1]][[2]], ".//Range", xmlAttrs)
我得到:
unit unit id id
"nm" "nm" "1" "2"
如何对R说我只想要范围ID而不是范围单元?
非常感谢!
我的两分钱带有rvest:
library(rvest)
read_xml("your_xml_file.xml") %>%
xml_nodes("Range") %>%
xml_attr("Id")