例如,当您指定 XML 节点路径时://tr[@class='party-rep']
做
getNodeSet(rootsChild, //tr[@class='party-rep'])
此函数是否仍然从树的根部搜索以查找类为“party-rep”的 tr div,或者由于我们将rootsChild 指定为文档,它将从rootChild 及其所有子项开始搜索并忽略实际的根?
这将为<tr class='party-rep'>
您提供 xml 文档中的所有内容:
getNodeSet(rootsChild, "//tr[@class='party-rep']")
如果你想要所有<tr class='party-rep'>
元素的子rootsChild
元素,你必须在你的 xpath 表达式前面添加一个点:
getNodeSet(rootsChild, ".//tr[@class='party-rep']")
这是一个例子:
R> xml <- "<root><a><td>foo</td></a><b><td>bar</td></b></root>"
R> doc <- xmlParse(xml)
R> doc
# <?xml version="1.0"?>
# <root>
# <a>
# <td>foo</td>
# </a>
# <b>
# <td>bar</td>
# </b>
# </root>
R> a <- getNodeSet(doc, '//a')[[1]]
R> getNodeSet(a, '//td')
# [[1]]
# <td>foo</td>
#
# [[2]]
# <td>bar</td>
#
# attr(,"class")
# [1] "XMLNodeSet"
R> getNodeSet(a, './/td')
# [[1]]
# <td>foo</td>
#
# attr(,"class")
# [1] "XMLNodeSet"