Извлечение атрибутов из файла XML - PullRequest
0 голосов
/ 28 августа 2018

У меня есть образец XML-файла, который я проанализировал в R

<ROUGHTDRAFT_FILE MV="00" MMV="00" 
    tId="0000">
     <HEADER Location="Utah" dateCreated="1/1/99">
    </HEADER>

    <COVERSHEET>
       <PRIMIARY_INFO eName="John Smith" pList="XXXXX" 
             type="Remodel" cNumber="00000" 
              policyNumber="00000000000"  />
   </COVERSHEET>
</ROUGHDRAFT_FILE>

После загрузки XML-файла и присвоения ему имени я получаю сообщение об ошибке. Это мой код:

xml <- xmlParse(file) 

Это прекрасно работает

Когда я пытаюсь получить атрибуты, это выдает мне ошибку

EstAttribs <- xpathApply(xml, path="//PRIMIARY_INFO", xml_attrs )

Error in UseMethod("xpathApply") : 
  no applicable method for 'xpathApply' applied to an object of class "c('XMLDocument', 'XMLAbstractDocument')"

Любые рекомендации, как я могу это исправить? Нужно ли указывать что-то для xml_attrs?

1 Ответ

0 голосов
/ 29 августа 2018

MrFlick уже дал вам один ответ. Вот еще один, который может быть полезен. Как он предложил, не пытайтесь смешивать функции из библиотеки XML с rvest и xml2.

# here is the rvest and xml2 solution
# rvest calls xml2 since it is a dependency
library(rvest)
xml_file <- read_xml("test.xml")

xml_file %>%
  xml_find_all('//PRIMIARY_INFO') %>%
  xml_attrs('eName') 

[[1]]
        eName         pList          type       cNumber  policyNumber 
 "John Smith"       "XXXXX"     "Remodel"       "00000" "00000000000" 

# this solution is purely using XML - as suggested by  MrFlick
library(XML)
xml_file <- xmlParse("test.xml")
xpathApply(xml_file, path="//PRIMIARY_INFO", xmlAttrs )

[[1]]
        eName         pList          type       cNumber  policyNumber 
 "John Smith"       "XXXXX"     "Remodel"       "00000" "00000000000" 

Я думаю этот ТАКой вопрос может содержать полезную информацию для вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...