【发布时间】:2016-11-17 12:17:12
【问题描述】:
我正在将复杂的 XML 文件转换为数据框。
这种方法有两个问题:
- 两个都被复制到应该为空的地方
- 如果其中一个节点中有更多数据点,则有时会出现此错误:“参数暗示不同的行数:198、240”,它应该映射回同一行,如果它不存在,应该为空。
- 如何计算两个现有列等于 3?
这是它的简化版本:
require(xml2)
xml_data = "
<top>
<line>
<one>1</one>
</line>
<line>
<one>1</one>
<two>2</two>
</line>
<line>
<one>1</one>
</line>
</top>
"
data2 <- read_xml(file)
df <- data.frame(
#purchase
one=xml_text(xml_find_all(data2, ".//line/one")),
two=xml_text(xml_find_all(data2, ".//line/two")),
sum1 = one + two
)
【问题讨论】:
-
您必须定位
line,然后分别处理每个返回的节点。有关于如何执行此操作的示例。
标签: r xml dataframe xml-parsing