R:从XML获取属性值
我有一个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> 谢谢。
<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