错误:不允许匹配“[xX] [mM] [lL]”的处理指令目标

时间:2015-06-12 09:10:26

标签: xml scala

这个问题是这个问题的后续问题:

Error: The processing instruction target matching "[xX][mM][lL]" is not allowed

正如问题中的答案所说,当在XML文件顶部以外的任何地方遇到XML声明时会出现此错误。 我正在处理的文件确实有两次XML声明。

奇怪的是,错误并不总是出现。如果它第一次失败并重新运行代码,它就会通过。有时,它会失败2-3次并在我下次运行时通过。在生产环境中,它从未失败,即使我正在下载相同的文件并使用相同的代码。

是否有解决方案忽略第二个XML声明而无需手动编辑文件?

我正在使用scala库“scala.xml”。

1 个答案:

答案 0 :(得分:1)

您的输入不是格式良好的XML,因此您无法使用XML解析器成功处理它。最好避免首先产生它;如果你不能这样做,你将不得不使用非XML工具修复文件。