XML中不允许出现一些特殊字符,这些字符需要使用转义字符代替.XML文件中不允许出现一些特殊字符,对这些特殊字符XML采用转义字符代替或者使用<![CDATA[ ]]>声明,<![CDATA[]]>标记所包含的内容为纯文本,不会进行转义;
XML特殊字符
显示结果 | 描述 | 转义字符 | 十进制 |
< | 小于号 | < | < |
> | 大于号 | > | > |
& | 与号 | & | & |
" | 双引号 | " | " |
' | 单引号 | ' | ' |
× | 乘号 | × | × |
÷ | 除号 | &divde; | ÷ |
空格 | |   | |
常见异常内容:
javax.xml.bind.UnmarshalException
- with linked exception:
[org.xml.sax.SAXParseException; lineNumber: 4; columnNumber: 104; 对实体 "commands" 的引用必须以 ';' 分隔符结尾。]
at javax.xml.bind.helpers.AbstractUnmarshallerImpl.createUnmarshalException(Unknown Source)
at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.createUnmarshalException(Unknown Source)
at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(Unknown Source)
at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(Unknown Source)
at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(Unknown Source)
at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(Unknown Source)
at com.mlycan.dbus.common.utils.file.JAXBContextUtils.fileToBean(JAXBContextUtils.java:80)
at com.mlycan.dbus.worker.runner.TasksLoaderRunner.run(TasksLoaderRunner.java:47)
at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:770)
at org.springframework.boot.SpringApplication.callRunners(SpringApplication.java:760)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:318)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1213)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1202)
at com.mlycan.dbus.worker.AppLauncher.main(AppLauncher.java:26)
异常XML文件示例:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<tasks appname="appname" appcode="appcode" appkey="sdsdsdsdsdsd" count="2">
<task pcode="HTTP_MANAGER_PROCESSER" curprocess="sdsds" remark="HTTP服务业务处理器" >
<properties> {"url":"url?gender=female&age=12&name=sean","method":"POST"}></properties>
<paramap>{"unicode":"unicode"}</paramap>
</task>
</tasks>
正确的XML文件示例:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<tasks appname="appname" appcode="appcode" appkey="sdsdsdsdsdsd" count="2">
<task pcode="HTTP_MANAGER_PROCESSER" curprocess="sdsds" remark="HTTP服务业务处理器" >
<properties><![CDATA[ {"url":"http://47.92.71.59:9999/api/repository/find.html?commands=UNICODE&commands=ACCOUNT&commands=NICKNAME","method":"POST"}]]></properties>
<paramap>{"unicode":"unicode"}</paramap>
<resultmap>返回值映射表</resultmap>
</task>
</tasks>