【发布时间】:2020-05-27 23:31:51
【问题描述】:
我有各种 XML 文件,其中包含如下所示的信息。我很难将这种可变 XML 格式解析为可以处理不同数量的指标和重复的属性标签的数据框。
<ProducedFruits>
<FruitType>
<FruitName>Apple</FruitName>
<FruitMetrics>
<Properties Sugars="27.51" Rate="5.03" />
<Properties Sugars="219.39" Rate="12.19" />
<Properties Sugars="266.34" Rate="75.9" />
</FruitMetrics>
</FruitType>
<FruitType>
<FruitName>Lime</FruitName>
<FruitMetrics>
<Properties Sugars="1884.2" Rate="5" />
<Properties Sugars="1884.2" Rate="98.3" />
</FruitMetrics>
</FruitType>
<FruitType>
<FruitName>Lemon</FruitName>
<FruitMetrics>
<Properties Sugars="1064.77" Rate="5" />
<Properties Sugars="1064.77" Rate="56" />
</FruitMetrics>
</FruitType>
<FruitType>
<FruitName>Banana</FruitName>
<FruitMetrics>
<Properties Sugars="113" Rate="12" />
<Properties Sugars="113" Rate="79" />
</FruitMetrics>
</FruitType>
</ProducedFruits>
每个文件可能有些不同,所以理想情况下,我会创建一些可以处理不一致数量的值的东西,同时保留水果名称并创建一个类似于底部的数据框。
【问题讨论】:
-
这能解决您的问题吗?使用
data <- XML::xmlParse("doc.xml")将 xml 数据传递到 R,然后使用XML::xml_data <- xmlToList(data)将列表绑定在一起(每个 stackoverflow.com/questions/17198658/…) -
@jared_mamrot 是的!非常有帮助,谢谢!
-
太棒了 - 我会把它作为答案发布:)