Я ищу простой и эффективный способ преобразования XML-данных в виде data.frame (но не всех элементов).Преобразование XML в фрейм данных
У меня есть этот файл: http://www-sop.inria.fr/members/Philippe.Poulard/projet/2013/entries_hotels.xml
я использовал xpathSApply
, но это плохо, потому что он не сохраняет нулевые элементы. В файле несколько широт пусты, но с xpathSApply
Я не могу знать, какие отели имеют пустой элемент широты, потому что они игнорируются.
Я нашел функцию xmlToList
, и это хорошо с XML, потому что она является prety той же структурой (во избежание много значений NULL в кадре данных).
Но теперь у меня есть 2 проблемы:
Если я хочу, чтобы создать фрейм данных из этого списка с утомительным списком элементов и сохранить элементы NULLS, как я могу сделать? я сделал это, но Нуль- не хранится в моем векторе:
library(XML)
hotels <- "http://www-sop.inria.fr/members/Philippe.Poulard/projet/2013/entries_hotels.xml"
list <- xmlToList(hotels)
latitudes.hotels <- c()
for(element in list) {latitudes.hotels <- c(latitudes.hotels, element$latitude)}
И моя вторая проблема заключается в том, что если я хочу, чтобы работать непосредственно с моим списком, проблема в том, что все имена являются Sames: «вход ».
Тогда мне интересно, как я могу присоединиться к записи с Id равным x, например, which(list$entry$ID == x)
.
я могу сделать это с тем же типом вектора, чем выше
ids.hotels <- c()
for(element in list) {ids.hotels <- c(ids.hotels, element$ID)}
list[[which(ids.hotels == x)]]
Но я думаю, что есть лучший способ сделать это, и это неправильно, если один элемент ID пуст в моем файле XML.
Спасибо за любую помощь
Спасибо, очень приятно быстро и эффективно! –