当前位置: 首页 > 面试题库 >

在Java中剥离无效的XML字符

常温文
2023-03-14
问题内容

我有一个XML文件,它是数据库的输出。我正在使用Java
SAX解析器来解析XML并以其他格式输出它。XML包含一些无效字符,并且解析器抛出诸如“无效Unicode字符(0x5)”之类的错误

除了逐行预处理文件并替换它们之外,是否有一种很好的方法可以去除所有这些字符?到目前为止,我遇到了3个不同的无效字符(0x5、0x6和0x7)。这是一个约4gb的数据库转储,我们将对其进行大量处理,因此,每次获得新的转储以在其上运行预处理器时,每次都必须等待额外的30分钟,这不是我第一次遇到这个问题。


问题答案:

我没有亲自使用它,但是Atlassian开发了一种命令行XML清理程序,它可以满足您的需求(它主要是为JIRA而设计的,但XML是XML):

下载atlassian-xml-cleaner-0.1.jar

打开DOS控制台或外壳,然后在您的计算机上找到XML或ZIP备份文件,此处假定为data.xml。

运行:java -jar atlassian-xml-cleaner-0.1.jar data.xml> data-clean.xml

这会将data.xml的副本写入data-clean.xml,其中删除了无效字符。



 类似资料:
  • 问题内容: 是否存在现有的Java库,该库提供了一种从字符串中剥离所有HTML标记的方法?我正在寻找与PHP中的功能等效的东西。 我知道我可以使用这个问题中描述的正则表达式,但是我很好奇,是否可能已经有一种方法可以在Apache Commons库中的某个地方使用。 问题答案: 在开放了将近一个星期的问题之后,我可以肯定地说,Java API或Apache库中没有可用的方法可从字符串中剥离HTML标

  • 问题内容: 当在HTML文件中打印一行时,我试图找到一种仅显示每个HTML元素的内容而不显示格式本身的方法。如果找到,它将仅打印“某些文本”,打印“ hello”,等等。如何去做呢? 问题答案: 我一直使用此函数来剥离HTML标记,因为它仅需要Python stdlib: 对于Python 3: 对于Python 2:

  • 总之,我正在尝试解析中的xml。但是XMLSpy告诉我xml的格式不好。 我相信这xml中包含了一些无效字符()。因为如果我把它拿走。XMLSpy的验证已通过。我认为UTF-8编码不允许这种字符。但是如果我真的想加入这种角色呢。我应该应用哪种编码?谢谢

  • 问题内容: 如何从字符串中删除HTML标签,以便可以输出纯文本? 问题答案: 嗯,我尝试了您的功能,并在一个小例子上工作了: 你能举一个例子吗? Swift 4和5版本:

  • 我有一个标准的json结构,里面有这样的内容

  • 问题内容: 考虑一个非DOM场景,您想使用JavaScript / ECMAScript从字符串中删除所有非数字字符。范围内的任何字符都应保留。 您将如何用纯JavaScript实现此目标?请记住,这是一个非DOM方案,因此jQuery和其他涉及浏览器和按键事件的解决方案都不适合。 问题答案: 使用正则表达式为的字符串方法,这是与所有非数字匹配的速记字符类: