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

为什么我的DOM解析器无法读取UTF-8

连德义
2023-03-14
问题内容

我有一个问题,当XML文件中存在UTF-8字符时,我的DOM解析器无法加载文件现在,我知道我必须给他指令以读取utf-8,但我不知道如何放置它在我的代码中,它是:

File xmlFile = new File(fileName);
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(xmlFile);
doc.getDocumentElement().normalize();

我知道有方法setencoding(),但我不知道将其放在代码中的位置…


问题答案:

试试这个。 为我工作

        InputStream inputStream= new FileInputStream(completeFileName);
        Reader reader = new InputStreamReader(inputStream,"UTF-8");
        InputSource is = new InputSource(reader);
        is.setEncoding("UTF-8");

        DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
        DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
        Document doc = dBuilder.parse(is);


 类似资料:
  • 我有一个常春藤和人工制品设置要发布,并依赖于构建。 在Artifactory中,我有一个Ivy文件,大致如下: 当我在另一个项目中依赖这个模块时,我指定了编译配置,但IvyDE告诉我编译不存在。 在这个设置中,我得到了错误消息 “在组织#模块中找不到配置;0.277-快照:'编译'” 如果依赖conf更新为编译,我确实会得到jar- 有什么建议吗?

  • 问题内容: Cobra和Viper中的文档使我感到困惑。我做了,然后在项目目录中做了。我有一个名为,这里是命令中的init函数。 我的配置文件如下所示: 当我打电话给我的时候 当我打电话时看到了… 因此它正在使用配置文件,但是似乎没有人正在读取它。也许我误解了眼镜蛇和毒蛇的工作方式。有任何想法吗? 问题答案: 要结合和,首先使用Cobra定义标志: 与Viper绑定: 并通过Viper方法获取变量

  • 问题内容: 我想将jsoup解析为utf -8,但我不能。我尝试了我所知道的一切,然后在Google上进行了搜索。 我的目标是: 但是 不是。 请帮忙 问题答案: 淘汰 你好世界Öçasasa

  • 类无法解析,为什么?这就引出了一个问题:在哪里可以找到的javadoc? null

  • 问题内容: 这是输入XML: 这是我用来读取XML的代码(变量xmlString包含上面的XML): 输出: 如果我使用“ ns2:Token”作为标记名,则可以读取该元素,但是我不希望在代码中使用该前缀,因为我不确定它是否相同或更改未来。有没有办法在不对标记名称中的命名空间进行硬编码的情况下读取xml元素? 问题答案: 用于命名空间元素的W3C dom 方法: IIRC的W3C DOM早期版本对

  • 我正在构建一个计算Java字符串中重复值的程序。然而,我收到“我无法解析为变量”,即使它是在for循环中初始化的?感谢您的指导。