简体   繁体   English

xml到R属性

[英]xml to R Attributes

I have a problem when extracting attributes from xml to R. I have the xml file as follow: 将属性从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>

I would like to have a list of the Range Id only for each book categories. 我只想为每本书类别列出一个范围ID。 For example: 例如:

romance: 浪漫:

id id
1  2

horror: 恐怖:

id id
1  2

When I do something like that: 当我做这样的事情:

RangeID_1<-xpathSApply(AC_Node[[1]][[2]], ".//Range", xmlAttrs)

I get: 我得到:

unit unit  id  id
"nm"  "nm" "1"  "2"

How to say to R that I only want the Range Id and not the Range unit? 如何对R说我只想要范围ID,而不想要范围单位?

Thank you very much!! 非常感谢你!!

My two cents with rvest: 我的两分钱与RVEST:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM