【发布时间】:2016-12-16 02:15:39
【问题描述】:
对于背景,我对 R 非常陌生,几乎没有使用 XML 文件的经验。
我使用 RSelenium 包编写了一个网络爬虫,它从 website 下载多个州和年份的 XML 文件,然后编写读取每个文件并将其附加到一个文件并导出 CSV 的代码。我的 webscraper 成功下载了我需要的所有文件,并且下一段代码能够成功读取除两个下载的 xml 文件之外的所有文件。
可以通过在此页面上选择以下选项来检索我无法读入 R 数据帧的第一个文件:http://www.slforms.universalservice.org/DRT/Default.aspx
- 年份=2013
- 州=PA
- 点击“XML Feed”的单选按钮
- 点击“选择数据点”复选框
- 点击“选择所有数据点”复选框
- 点击“构建数据文件”
我尝试使用 xmlToDataFrame 将生成的 XML 文件读入 R:
install.packages("XML")
require("XML")
data_table<-xmlToDataFrame("/users/datafile.xml")
当我这样做时,我得到一个错误:
xmlParseCharRef: invald xmlChar value 19
Error: 1: xmlParseCharRef: invalid xmlChar value 19
我看到的其他使用 xmlToDataFrame 的无效字符错误示例通常为有问题的字符提供两个坐标,但由于只给出了值“19”,我不确定如何定位有问题的字符。
一旦我找到无效字符,是否有办法直接更改 xml 文件的文本以转义无效字符,以便 xmlToDataFrame 能够读取更改后的文件?
【问题讨论】:
标签: r xml xml-parsing escaping