将 dom4j 从 1.5.2 升级到 2.1.3 后出现“java.lang.IllegalArgumentException: 名称中的非法字符 11474”错误

问题描述 投票:0回答:1

将 dom4j 从 1.5.2 升级到 2.1.3 后,我得到了

java.lang.IllegalArgumentException:名称中存在非法字符 11474

如果我的名字有如下号码:

{"11474" : [{"name" : "dept",
"type" : "9",
"value" : "003|Engineering"},{"name" : "empid",
"type" : "5",
"value" : "spadmin"},{"name" : "empName",
"type" : "5",
"value" : "Administrator, Service Delivery"},{"name" : "reason",
"type" : "12",
"value" : "0"}]}

这在之前的 dom4j 1.5.2 中运行良好。如果我向 11474 添加一个前缀,如“string_11474”,它就可以正常工作。

{"string_11474" : [{"name" : "dept",
"type" : "9",
"value" : "003|Engineering"},{"name" : "empid",
"type" : "5",
"value" : "spadmin"},{"name" : "empName",
"type" : "5",
"value" : "Administrator, Service Delivery"},{"name" : "reason",
"type" : "12",
"value" : "0"}]}

但是我从我无法控制的外部应用程序获取这些数据。如何解决这个问题? 这样我就无法从 dom4j 1.5.2 升级到 2.1.3

如果标签有数字,我会收到异常,但它在 1.5.2 中工作正常

java exception upgrade illegalargumentexception dom4j
1个回答
0
投票

dom4j 1.x 没有验证元素名称,dom4j 2.x 添加了它。我不认为 dom4j 2.x 承诺任何向后兼容的行为。

© www.soinside.com 2019 - 2024. All rights reserved.