У меня есть база данных XML, структура которой такая:
<Record>
<Id>
{text}
<AdresDoDoreczen>
<Miejscowosc>
{text}
<Budynek>
{text}
<KodPocztowy>
{text}
<Poczta>
{text}
<Gmina>
{text}
<Powiat>
{text}
<Wojewodztwo>
{text}
Я использую следующий код:
require(xml2)
file <- "file.xml"
doc <- read_xml(file, useInternalNodes = TRUE)
column1 = xml_text(xml_find_all(doc, '//AdresDoDoreczen/Miejscowosc'))
Применение этого кода к другим узлам (Budynek, Powiat , Gmina) дает мне несколько векторов / столбцов, которые я могу объединить с matrix()
и сохранить как .csv.
К сожалению, в некоторых из этих записей отсутствуют некоторые узлы, поэтому xml_find_all(doc, '//AdresDoDoreczen/Gmina')
дает мне не 100 записей, а 95. Он отлично работает, когда узел "Gmina" пуст, но когда он вообще не существует - у меня проблема, потому что тогда вся векторная матрица не выровнена.
Есть идеи, как поступить с этими?