R:将XML解析为所需的映射表
我有一个XML,下面是示例格式,需要生成一个映射表R:将XML解析为所需的映射表,xml,r,Xml,R,我有一个XML,下面是示例格式,需要生成一个映射表 <params> <parm suffix="1">A</parm> <parm suffix="2">B</parm> <parm suffix="3">C</parm> <parm suffix="4">D</parm> <parm suffix="5">E</par
<params>
<parm suffix="1">A</parm>
<parm suffix="2">B</parm>
<parm suffix="3">C</parm>
<parm suffix="4">D</parm>
<parm suffix="5">E</parm>
<params>
只要我能像parmList[“A”]一样检索到A_1,任何类型的格式都可以。
谢谢大家。比如:
library(XML)
xmltest <- "<params>
<parm suffix=\"1\">A</parm>
<parm suffix=\"2\">B</parm>
<parm suffix=\"3\">C</parm>
<parm suffix=\"4\">D</parm>
<parm suffix=\"5\">E</parm>
</params>"
xmlout <- xmlInternalTreeParse(xmltest)
outattrs <- xpathApply(xmlout,"//params/parm",xmlGetAttr,"suffix")
outval <- xpathApply(xmlout,"//params/parm",xmlValue)
parmList <- setNames(Map(paste, outval, outattrs, sep="_"),outval)
#$A
#[1] "A_1"
#$B
#[1] "B_2"
#$C
#[1] "C_3"
#$D
#[1] "D_4"
#$E
#[1] "E_5"
parmList[["A"]]
#[1] "A_1"
每个值是否有多个后缀?@thelatemail-每个值有一个后缀,但每个值的后缀可能不同谢谢@thelatemail的回答:)
library(XML)
xmltest <- "<params>
<parm suffix=\"1\">A</parm>
<parm suffix=\"2\">B</parm>
<parm suffix=\"3\">C</parm>
<parm suffix=\"4\">D</parm>
<parm suffix=\"5\">E</parm>
</params>"
xmlout <- xmlInternalTreeParse(xmltest)
outattrs <- xpathApply(xmlout,"//params/parm",xmlGetAttr,"suffix")
outval <- xpathApply(xmlout,"//params/parm",xmlValue)
parmList <- setNames(Map(paste, outval, outattrs, sep="_"),outval)
#$A
#[1] "A_1"
#$B
#[1] "B_2"
#$C
#[1] "C_3"
#$D
#[1] "D_4"
#$E
#[1] "E_5"
parmList[["A"]]
#[1] "A_1"
Map(
paste,
sapply(xmlout["//params//parm"], xmlValue),
xmlout["//params//parm//@suffix"],
sep="_"
)