R:从XML获取属性值

R:从XML获取属性值,xml,r,Xml,R,我有一个XML,请参见下面的示例 <params> <param id='1'>BEN</param> <param id='2'>DAN</param> <param id='3'>RYE</param> <param id='3'>RYE</param> <param id='3'>RYE</param> </params> 谢谢。

我有一个XML,请参见下面的示例

<params>
<param id='1'>BEN</param>
<param id='2'>DAN</param>
<param id='3'>RYE</param>
    <param id='3'>RYE</param>
    <param id='3'>RYE</param>
</params>

谢谢。

您需要将函数
xpathApply
与参数
xmlValue
一起使用(以获取值,否则
xmlatrs
以获取属性)。路径应按以下语法给出:
“//tag[@attribute='value']”


xmlinfle谢谢您的回答。:)谢谢你的回答
inxml = xmlTreeParse(xmlinfile, handlers=list("comment"=function(x,...){NULL}), asTree = TRUE)
xmlList = xmlToList(inxml);
params = xmlList$'params'
a <- xmlParse('<params>
<param id='1'>BEN</param>
<param id='2'>DAN</param>
<param id='3'>RYE</param>
    <param id='3'>RYE</param>
    <param id='3'>RYE</param>
</params>')
xpathApply(a,"//param[@id='3']",xmlValue)
[[1]]
[1] "RYE"

[[2]]
[1] "RYE"

[[3]]
[1] "RYE"
xpathSApply(a,"//param[@id='3']",xmlValue)
[1] "RYE" "RYE" "RYE"
xmlinfile <- paste(readLines(n=7), collapse="\n")
<params>
  <param id='1'>BEN</param>
  <param id='2'>DAN</param>
  <param id='3'>RYE</param>
  <param id='3'>RYE</param>
  <param id='3'>RYE</param>
</params>
library(XML)
xpathApply(xmlParse(xmlinfile), "/params/param[@id='3']", xmlValue)  
# [[1]]
# [1] "RYE"
# 
# [[2]]
# [1] "RYE"
# 
# [[3]]
# [1] "RYE