在R中查找XPath节点的名称



我想查找没有任何子节点的父名称。例如,我在xpather.com上尝试了XPath表达式,它工作得很好,但我无法使它在R.中工作

//*[not(*)]/parent::*/name()

结果应该是aa, ca

library(XML)
xml_doc <- ("<ca>
<ai>67400000</ai>
<ssci>FN</ssci>
<aa>
<ta>1280</ta>
<tc>EUR</tc>
</aa>
</ca>")
xml_parsed <- xmlParse(xml_doc)
a <- getNodeSet(xml_parsed, "//*[not(*)]/parent::*")
names(a)
library(xml2)
doc <- read_xml(xml_doc)
# Xpath for parents of nodes without children 
#  xml_name() for name extraction
xml_name(xml_find_all(doc, ".//*[not(*)]/parent::*"))
# [1] "ca" "aa"

最新更新