Dom4J解析xml忽略节点大小写

时间:2022-10-31 13:25:37
Dom4J解析xml
selectNodes获取节点时如何忽略大小写?
例如
<Name
<NAME
<name
都能获取出name节点来
谢谢!

14 个解决方案

#1


该回复于2015-05-26 10:46:58被管理员删除

#2


还有这功能吗?
xml本身就要求严格大小写的,xml格式为什么要定义成这个样子?

#3


不知道数据量大不?如果不大的话,先用Element的setName()方法把name改成统一样式,然后再获取

#4


楼主的设计似乎有些问题啊。

如果你真的想做,而xml文件不大的话,可以整体转成大写或者小写,然后按常规方式去读取。

#5


大小写的目的就是为了区分开~~~
思路问题

#6


不是我设计和思路问题,我也不想这样的。我做接口的,人家给我的提供给我的XML数据就是这样。
我目前能想到的是全部转换成小写或大写,不过数据量挺大的!

#7


在读取的时候
节点.toUpperCase() 或者节点.toLowerCase() 统一一下大小写

#8


该回复于2008-07-26 15:18:53被版主删除

#9


还有什么好的方法啊?自己顶一下!

#10


xml不能区分大小写吧………………

#11


引用 7 楼 zidasine 的回复:
在读取的时候 
节点.toUpperCase() 或者节点.toLowerCase() 统一一下大小写

#12



Node node = doc.selectSingleNode(xpath);
node.valueOf("<HTML>").toLowerCase();
node.valueOf("<HTML>").toUpperCase();

#13


刚才理解有误,

用translate函数来转换大小写,如:

Element   eGetInfor   =   (Element)doc.selectSingleNode("//pro[translate(@p   
  roduct_code,'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz')='"+prodCode.toLowerCase()+"']");   

#14


小Case ,只要在取得节点后,根据节点取值的时候 多加个判断就行了,比如 if( 节点名字.equalsIgnoreCase(你给定的节点名字))

#1


该回复于2015-05-26 10:46:58被管理员删除

#2


还有这功能吗?
xml本身就要求严格大小写的,xml格式为什么要定义成这个样子?

#3


不知道数据量大不?如果不大的话,先用Element的setName()方法把name改成统一样式,然后再获取

#4


楼主的设计似乎有些问题啊。

如果你真的想做,而xml文件不大的话,可以整体转成大写或者小写,然后按常规方式去读取。

#5


大小写的目的就是为了区分开~~~
思路问题

#6


不是我设计和思路问题,我也不想这样的。我做接口的,人家给我的提供给我的XML数据就是这样。
我目前能想到的是全部转换成小写或大写,不过数据量挺大的!

#7


在读取的时候
节点.toUpperCase() 或者节点.toLowerCase() 统一一下大小写

#8


该回复于2008-07-26 15:18:53被版主删除

#9


还有什么好的方法啊?自己顶一下!

#10


xml不能区分大小写吧………………

#11


引用 7 楼 zidasine 的回复:
在读取的时候 
节点.toUpperCase() 或者节点.toLowerCase() 统一一下大小写

#12



Node node = doc.selectSingleNode(xpath);
node.valueOf("<HTML>").toLowerCase();
node.valueOf("<HTML>").toUpperCase();

#13


刚才理解有误,

用translate函数来转换大小写,如:

Element   eGetInfor   =   (Element)doc.selectSingleNode("//pro[translate(@p   
  roduct_code,'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz')='"+prodCode.toLowerCase()+"']");   

#14


小Case ,只要在取得节点后,根据节点取值的时候 多加个判断就行了,比如 if( 节点名字.equalsIgnoreCase(你给定的节点名字))