Return 个在 xml2 中具有相同名称的节点
Return nodes with same name in xml2
我有一个 xml 文件,其中有许多同名节点。节点的名称不在我的控制范围内。有没有办法访问具有相同名称的每个节点的值,而不仅仅是第一个。
在 xml_child()
的帮助文件中指出您可以使用 search
参数来 "specify the name of the child node to return. If there are multiple child nodes with the same name, the first will be returned."
不幸的是,我也不总是知道同名节点的位置,所以我也不能使用数值作为搜索参数。
例如:
# similar example provided in the xml2 documentation
x <- read_xml("<foo> a <d>e1</d> <d>e2</d> </foo>")
# this gives expected output from the first child node named "d"
xml_child(x, "d") %>% xml_contents()
# this gives me expected output from second child node with name "d"
# but I don't always know the position of this node
xml_child(x, 2) %>% xml_contents()
那么有没有办法让我访问名称为 "d" 的第二个节点的值?
您可以使用[]
指定您想要的节点索引。您可以使用
获得第二个 d
节点
xml_child(x, "d[2]") %>% xml_contents()
这是一个xpath predicate
我有一个 xml 文件,其中有许多同名节点。节点的名称不在我的控制范围内。有没有办法访问具有相同名称的每个节点的值,而不仅仅是第一个。
在 xml_child()
的帮助文件中指出您可以使用 search
参数来 "specify the name of the child node to return. If there are multiple child nodes with the same name, the first will be returned."
不幸的是,我也不总是知道同名节点的位置,所以我也不能使用数值作为搜索参数。
例如:
# similar example provided in the xml2 documentation
x <- read_xml("<foo> a <d>e1</d> <d>e2</d> </foo>")
# this gives expected output from the first child node named "d"
xml_child(x, "d") %>% xml_contents()
# this gives me expected output from second child node with name "d"
# but I don't always know the position of this node
xml_child(x, 2) %>% xml_contents()
那么有没有办法让我访问名称为 "d" 的第二个节点的值?
您可以使用[]
指定您想要的节点索引。您可以使用
d
节点
xml_child(x, "d[2]") %>% xml_contents()
这是一个xpath predicate