0
当你指定例如XML节点的路径://tr[@class='party-rep']
根路径
,做
getNodeSet(rootsChild, //tr[@class='party-rep'])
,这种功能还是从树的根搜索寻找具有类TR DIV“ party-rep“,或者我们将rootsChild指定为doc,它将从rootsChild及其所有子项开始搜索并忽略实际的根目录?
当你指定例如XML节点的路径://tr[@class='party-rep']
根路径
,做
getNodeSet(rootsChild, //tr[@class='party-rep'])
,这种功能还是从树的根搜索寻找具有类TR DIV“ party-rep“,或者我们将rootsChild指定为doc,它将从rootsChild及其所有子项开始搜索并忽略实际的根目录?
这将会给你的XML文档中的所有<tr class='party-rep'>
:
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"
您的示例建议(与您的描述相反)添加“。”限制检索到第一个节点。 – 2013-04-23 08:21:34
@DWin'.'将检索限制在给予'getNodeSet'的节点的子节点上。你的意思是我应该在''节点上增加几个''元素来使这个例子更加明确吗? – juba 2013-04-23 08:33:49