Я пытаюсь разобраться с пакетом xml2 при получении и фильтрации XML узлов в R.
У меня есть файл XML со структурой ...
...
<entry>
<feature type="x">123</feature>
<feature type="y">456</feature>
<feature type="y">789</feature>
</entry>
...
... и я пытаюсь получить только первую «функцию» типа «y» в одном операторе.
В настоящий момент я делаю это как следует:
# Return all <feature> nodes
xmlNodes <- xml_find_all(inputXml, ".//entry/feature")
# ...filter by type="y"...
xmlNodes <- xmlNodes[xml_attr(xmlNodes, "type")=="y"]
# ...and then return the first node
xmlNode <- xmlNodes[1]
Есть ли более простой способ добиться этого с помощью одного оператора, возможно, используя функцию xml_find_first () с этим условием «type» == «y», предполагая, что первая функция node может не обязательно быть "type" = "y"?
Может быть что-то вроде:
xmlNode <- xml_find_first(inputXml, ".//entry/feature" & xml_attr(inputXml, "type")=="chain")
Мне кажется, это очень простой вопрос, но я новичок в R и не хорошо знаком со всем синтаксисом ... большое спасибо!