Java 在文档的元素内容中发现使用ow3c.dom.document对象(Unicode:0x1a)分析文档时出现分析错误

Java 在文档的元素内容中发现使用ow3c.dom.document对象(Unicode:0x1a)分析文档时出现分析错误,java,xml,Java,Xml,我得到一个错误:org.xml.sax.SAXParseException;行号:1;栏目号:14515;在文档的元素内容中发现无效的XML字符Unicode:0x1a 我的xml文件内容中出现以下错误: <Product> <Description>672577000 3M 4540 DISPOSABLE COVERALL → XL</Description> </Product> 我在使用org.w3c.dom.doc

我得到一个错误:org.xml.sax.SAXParseException;行号:1;栏目号:14515;在文档的元素内容中发现无效的XML字符Unicode:0x1a

我的xml文件内容中出现以下错误:

 <Product>
          <Description>672577000 3M 4540 DISPOSABLE COVERALL → XL</Description>
 </Product>

我在使用org.w3c.dom.document对象解析文档时遇到此错误,错误是由于→ 在输入文件中。那么如何解决这个问题呢?

xml文件中不允许使用所有字符。以下是一个链接,可供您查找哪一个是允许的,哪一个是不鼓励的,哪一个是不允许重置的:


你的→ 不允许使用。

是的,我开始使用,但也会出现此错误无效的XML字符Unicode:0x1a表示存在无效字符。检查以确保没有双字节字符或某物。那么,如何从文件中以编程方式删除这类字符?您应该首先考虑这个字符的意义是什么?是你想出来的吗?然后很容易找到xml可以接受的东西。是不是有些东西超出了你的控制,或者是由另一个系统产生的?那就不那么容易了。无论如何,应该找到一个或一组超出数据域的字符。这可能是你邪恶性格的坦率替代品→.至于你如何移除它?只需对文件进行简单的预处理,即可删除或替换角色的所有实例。您可以看一个简单的教程,了解如何做到这一点。
I resolved this by using below code
String removedUnicodeChar  = "DISPOSABLE COVERALL → XXL</Description></Order> ↔ ↕ ↑ ↓ → ABC";
Pattern pattern = Pattern.compile("[\\p{Cntrl}|\\uFFFD]");
Matcher m = pattern.matcher(removedUnicodeChar);
if(m.find()){
    System.out.println("Control Characters found");
    removedUnicodeChar = m.replaceAll("");
}