мне нужно извлечь некоторые данные из XML, который выглядит следующим образом (упрощенный для краткости)извлечения данных из XML в R
<Doc name="Doc1">
<Lists Count="1">
<List Name="List1">
<Points Count="3">
<Point Id="1">
<Tags Count ="1">"a"</Tags>
<Point Position="1" />
</Point>
<Point Id="2">
<Point Position="2" />
</Point>
<Point Id="3">
<Tags Count="1">"c"</Tags>
<Point Position="3" />
</Point>
</Points>
</List>
</Lists>
</Doc>
Выходной сигнал должен быть кадр данных, который соответствует тег и положение для каждой точки Id
Point Tag Position
1 1 a 1
2 2 <NA> 2
3 3 c 3
Я новичок в XML, я играл с пакетом xml2. До сих пор я мог извлекать каждую переменную отдельно, но поскольку некоторые точки могут не иметь данных тега, я не могу найти способ сопоставить эти три параметра.
> library(xml2)
> xml_data<-read_xml(...)
> xml_data %>% xml_find_all("//Point") %>% xml_attr("Id")
[1] "1" "2" "3"
> xml_data %>% xml_find_all("//Vertical") %>% xml_attr("Position")
[1] "1" "2" "3"
> xml_data %>% xml_find_all("//Tags") %>% xml_text()
[1] "\"a\"" "\"c\""