JAVA开发问题之org.xml.sax.SAXParseException
问题描述
在调用Properties.loadFromXML时报错
org.xml.sax.SAXParseException; lineNumber: 2; columnNumber: 13; 文档根元素 "properties" 必须匹配 DOCTYPE 根 "null"。
示例代码
package com.wywtime.toolbox; import org.junit.jupiter.api.Test; import java.io.IOException; import java.util.Properties; public class PropertiesTest { @Test public void testLoadingXml() throws IOException { Properties properties = new Properties(); properties.loadFromXML(this.getClass().getClassLoader().getResourceAsStream("test.xml")); System.out.println(properties.getProperty("name")); } }
解决思路
这个问题解决思路需要深入loadFromXML,这个方法有相关注释
Loads all of the properties represented by the XML document on the specified input stream into this properties table.
The XML document must have the following DOCTYPE declaration:<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
所以在文档上添加相关DOCTYPE的声明即可
示例文档test.xml
<?xml version="1.0" encoding="utf-8" ?> <!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"> <properties> <entry key="name">bsmn</entry> </properties>
本文来自博客园,作者:白首码农,转载请注明原文链接:https://www.cnblogs.com/bsmn/p/16269803.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下