XML标记内的变量到R数据框中的列

时间:2019-03-24 18:31:23

标签: r xml xml2

尝试将XML文件转换为R中的数据帧。但是,对于一个客户,XML标记(节点)具有相同的名称两次。我希望每个节点位于数据框的单独列中。

<Consumer ConsumerOID="123">
<BillingContact>
        <PhoneInformation Type="Main">
        <PhoneNumber>4758796523</PhoneNumber>
      </PhoneInformation>
      <PhoneInformation Type="Home">
        <PhoneNumber>1234567890</PhoneNumber>
      </PhoneInformation>
</BillingContact>
</Consumer>
<Consumer ConsumerOID="256">
<BillingContact>
        <PhoneInformation Type="Main">
        <PhoneNumber>9856321475</PhoneNumber>
      </PhoneInformation>
</BillingContact>
</Consumer>
library(XML)

doc<-xmlParse("test.xml")
step1 <- xmlToDataFrame(nodes=getNodeSet(doc,"//OCADocument/Consumer/BillingContact/PhoneInformation"))

上面的代码仅给我提供电话号码,并且仅提供给数据框中的一列。这使得很难识别哪个电话号码属于哪个消费者OID。

我希望以如下所示的数据帧格式输出

"ConsumerID      Phonenumber1       Phonenumber2"
"  123           4758796523         1234567890"
"  256           9856321475         NA"

0 个答案:

没有答案