如何访问XML标记的属性

时间:2013-08-29 08:36:15

标签: xml r

如果我有以下示例中的<part列表,我怎么能读出list.db[[1]]的所有属性?我如何选择没有子节点的节点?

require(XML)

txt = "<doc>
         <part name=\"abc\">
           <name>ABC</name>
           <type>XYZ</type>
           <cost>3.54</cost>
           <status>available</status>
         </part>
         <part>
           <name>ABC</name>
           <type>XYZ</type>
           <cost>3.54</cost>
           <status>available</status>
         </part>
       </doc>"

tree <- xmlTreeParse(txt, useInternalNodes = TRUE)
list.db <- getNodeSet(tree, "//part")
list.db[[1]][1:2]
xmlRoot(list.db[[1]])[1]

1 个答案:

答案 0 :(得分:1)

您可以使用xmlAttrs功能:

xmlAttrs(list.db[[1]])
# name 
#"abc"

或者您可以通过xpathSApply使用XPATH语法:

xpathSApply(tree, "//part/@name")
# name 
#"abc"