2017-01-04 8 views
1

я получаю сообщение об ошибке при попытке разобрать файл XML в R.Ошибка при попытке разобрать XML в R

Вот что я пытаюсь сделать:

library(XML) 
fileUrl <- "http://www.w3schools.com/xml/simple.xml" 
doc <- xmlTreeParse(fileUrl, useInternal=TRUE) 

я получаю эти ошибки ниже: "

Opening and ending tag mismatch: meta line 4 and head 
StartTag: invalid element name 
Opening and ending tag mismatch: br line 73 and p 
Opening and ending tag mismatch: br line 94 and body 
Opening and ending tag mismatch: br line 93 and html 
Premature end of data in tag br line 92 
Premature end of data in tag br line 78 
Premature end of data in tag br line 77 
... 
... 
16: Premature end of data in tag br line 64 
17: Premature end of data in tag body line 63 
18: Premature end of data in tag meta line 3 
19: Premature end of data in tag head line 2 
20: Premature end of data in tag html line 2 

"

Я использую R версию 3.3.2 в Windows 7. Версия XML lib - 3.98.1.5.

Был бы рад, если бы кто-нибудь мог помочь, так как это должно было быть простым разоблачением, но я застрял здесь.

+0

Есть ли у вас try 'xmlParse (fileUrl, useInternalNodes = FALSE)' 'xmlParse()' и 'xmlTreeParse()' идентичны, за исключением того, что значение useInternalNodes по умолчанию имеет разные значения. –

+0

Я пробовал те, и он по-прежнему выводит одинаковый результат. – addicted

ответ

0

С пакетом XML это работает для меня, будучи на выходе (с dplyr иметь выход в data.frame):

library(XML) 
library(dplyr) 

fileUrl <- "http://www.w3schools.com/xml/simple.xml" 
doc <- xmlTreeParse(fileUrl, useInternal=TRUE) %>% 
    xmlToDataFrame() 
doc 

name price                   description calories 
1    Belgian Waffles $5.95     Two of our famous Belgian Waffles with plenty of real maple syrup  650 
2 Strawberry Belgian Waffles $7.95     Light Belgian waffles covered with strawberries and whipped cream  900 
3 Berry-Berry Belgian Waffles $8.95 Light Belgian waffles covered with an assortment of fresh berries and whipped cream  900 
4    French Toast $4.50         Thick slices made from our homemade sourdough bread  600 
5   Homestyle Breakfast $6.95     Two eggs, bacon or sausage, toast, and our ever-popular hash browns  950 

Другой вариант заключается в попытке с библиотекой xml2:

library(xml2) 
library(dplyr) 

fileUrl <- "http://www.w3schools.com/xml/simple.xml" 

# As a list 
doc <-read_xml(fileUrl) %>% 
    as_list() 
+0

Это все равно не срабатывает. Но я нашел способ заставить его работать. Я загрузил simple.xml в свой локальный каталог и проанализировал XML-файл из локального каталога. Он работает нормально. Я не совсем уверен, почему я не могу разобрать его с веб-сайта. Возможно ли, что файл xml на веб-сайте w3schools содержится внутри html? Вот почему он не может быть проанализирован. – addicted

Смежные вопросы