XML文件未加载问题因素之一

Posted HapLe0

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了XML文件未加载问题因素之一相关的知识,希望对你有一定的参考价值。

今天在修改wuser数据库连接配置文件user.proxool.xml之后重启服务,发现访问接口均报错。

[访问user.getTgUser报错:NoSuchElementException]

[访问user.getUser报错:NullPointerException]

分别找到对应报错行,均为访问数据库的一行

【getUser,NoPointerException,Line:39】

 

【getTgUser,NoSuchElementException,Line:41】

 分析两个接口的不同之处,一个有别名,报NoSuchElementException,另一个没有别名,报NoPointerException,因此猜测是数据库连接池有问题。

从报错内容中也可以得到印证。

于是翻出源码,找到这一行

回头看初始化日志,并没有加载数据库配置文件的部分。因此估计是user.proxool.xml没有加载导致。

于是将服务器中的user.proxool.xml移到本地,并将服务器上面该文件删除。

重启服务,再次访问。

果然结果和之前一样。因此确定是此配置文件没有被加载导致。那么为什么没被加载呢?

首先查看是不是XML有问题。

看名字,没问题。

用文本编辑器打开,看别名、配置...

都没问题。。。

咦,这是什么?

UTF-8-BOM格式

想起之前同事跟我说过,BOM格式就是第一行前面有一串隐藏的字符,用于表示字符集。

百度一下:

心中小鹿乱撞了,感觉就是这个原因导致的XML加载失败,于是赶紧改了字符集变为无BOM格式,上传,重启。

看到页面上打印的密密麻麻,怎么就那么兴奋呢?

以上是关于XML文件未加载问题因素之一的主要内容,如果未能解决你的问题,请参考以下文章

无法通过 xmlhttprequest 加载本地 xml 文件

自定义字体未加载到对话框的 listView 中

C# 应用程序未保存到 xml [关闭]

从 System32 中的文件夹加载 XML 文件以获取 wcf (.svc) c# 代码

未整理web.xml加载顺序.RP

XML的解析方法