xml 到 R 属性

xml to R Attributes

我在从 xml 提取属性到 R 时遇到问题。我有如下 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 而不是范围单位?

非常感谢!!

我的两分钱:

library(rvest)
read_xml("your_xml_file.xml") %>% 
  xml_nodes("Range") %>% 
  xml_attr("Id")