首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

DOM4j查询节点xpath中如何避免中括号[]

2013-10-22 
DOM4j查询节点xpath中如何处理中括号[]前端页面提交过来的参数名称中包含中括号,这些参数最终被封装成xml。

DOM4j查询节点xpath中如何处理中括号[]
前端页面提交过来的参数名称中包含中括号,这些参数最终被封装成xml。封装后的xml如下:


<user password="admin" account="admin" email="admin@vilang.com" mobile="18888888888">
<usergroups>
  <usergroup[0] id="12" name="Group_one"/>
  <usergroup[1] id="13" name="Group_two"/>
</usergroups>
</user>


现需要通过dom4j在xml判断是否存在usergroup[0]节点,如何判断?

尝试过这样判断,但因为节点中含有中括号[],导致无法查询节点:

Element objectElement = (Element) object.selectSingleNode("./usergroups/usergroup[0]");
if(null == objectElement)
{
//... 
}




[解决办法]
像这种的xml的节点名称都不规范了,根本就不能解析成Document文档。你把这些中括号的脚标去掉。这些脚标应该是代表这个元素是一个数组并且是第几个元素,在封装成xml的时候要把脚标去掉要不然xml就不规范不能解析
[解决办法]
要么写个正则提取下,或者用别的方式提取一下,毕竟这规则都是人写的,自己写一个也不是太难。
或者就正则替换一下这种[]标记,然后用dom读取
[解决办法]
我不得不说就这样的设计糟透了。
花括号直接去了吧。

热点排行