2013-08-29 5 views
0

Как я могу прочитать все атрибуты <part, если у меня есть список, например list.db[[1]], из следующего примера? И как я мог выбрать узел без дочерних узлов?Как получить доступ к атрибутам XML-тегов

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

Вы можете использовать функцию xmlAttrs:

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

Или вы могли бы использовать XPATH Синтаксис через xpathSApply:

xpathSApply(tree, "//part/@name") 
# name 
#"abc" 
Смежные вопросы