在R xmlToDataFrame()中找到导致错误的无效字符

时间:2016-08-09 21:34:22

标签: r xml xml-parsing escaping

对于后台我是R的新手,几乎没有XML文件的经验。

我使用RSelenium软件包编写了一个webscraper,它从这个website下载多个状态和年份的XML文件,然后编写读取每个文件并将其附加到一个文件并导出CSV的代码。我的webscraper成功下载了我需要的所有文件,下一段代码能够成功读取除下载的两个xml文件之外的所有文件。

通过选择此页面上的以下选项,可以检索到我无法读入R数据帧的第一个文件:http://www.slforms.universalservice.org/DRT/Default.aspx

  • 年份= 2013
  • 状态= PA
  • 点击<34; XML Feed&#34;
  • 的单选按钮
  • 点击&#34的复选框;选择数据点&#34;
  • 点击&#34复选框;选择所有数据点&#34;
  • 点击&#34;构建数据文件&#34;

我尝试使用xmlToDataFrame将结果XML文件读入R:

      <li th:onclick="'radar(' + ${radar} + ', ' + ${radarList} + ');'" th:each="radar : ${radarList}" th:id="${radar.index}">
          <button class="button button_module" th:id="${radar.index}">
              <img th:src="@{/images/icon_module_radar.png}" /><br />
              <span th:text="${radar.name}"/>
          </button>
      </li>


function radar(id, list)
{
    for (var i in list)
    {
        document.getElementById(list[i]['index']).className = "button button_module";
    }
    document.getElementById(id['index']).className = "button button_module_selected";

    setRadarStats(id);
}

当我这样做时,我收到一个错误:

{{1}}

我使用xmlToDataFrame看到的无效字符错误的其他示例通常会为有问题的字符提供两个坐标,但由于只有值&#34; 19&#34;给出了,我不确定如何找到有问题的角色。

一旦找到无效字符,是否有办法直接修改xml文件的文本以转义无效字符,以便xmlToDataFrame能够读取更改后的文件?

1 个答案:

答案 0 :(得分:0)

这行XML编码不好:

31 to $26,604.98 to remove: the ineligible entity MASTERY CHARTER SCHOOLS &#x13;

但该文档似乎也有其他编码问题。

TSV工作正常,所以你可能会认为abt使用它。