[DOM4J]关于XML报文子节点包含中文符号 "()" 本帖最后由 chikk 于 2012-09-12 17:44:39 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 先将</单位(部门)>中的部门去掉,看是否可以,如果可以就说明不识别()或需要转译字符。 好像XML的命名规则就是这么规定的,没有好的办法 我的想法是将"()"用别的字符替换,我试了下用字母、数字、汉字都行,用符号就不行了。然后根据你替换后的节点名去解析String xml = "";xml += "<TBLDATA>";xml += "<姓名>张三</姓名><单位(部门)>ss</单位(部门)>";xml += "</TBLDATA>";//将“(”替换成leftxml = xml.replace("(", "left"); //将“)”替换成rightxml = xml.replace(")", "right");System.out.println(xml+","+xml.indexOf("("));try { Document dom=DocumentHelper.parseText(xml); System.out.println(dom.getRootElement().elementTextTrim("单位left部门right"));} catch (Exception e) { e.printStackTrace();} 帅哥,看了篇你的文章“[DOM4J]关于XML报文子节点包含中文符号 "()"”我有个和你类似的问题,我要解析一段报文,格式如下:<?xml version="1.0" encoding="UTF-8"?><root><业务(所属)>BZ(001)032</业务(所属)><业务相关编号>BP NO. GDBGZGFBP1100391</业务相关编号></root>问题:如果节点中有圆括号的话则会导致无法解析(“(所属)”),现在的思路是用正则表达式将节点(标签)中的圆括号以及圆括号中的内容去掉。PS:要保证节点对应的值中的圆括号以及括号中的内容不被去掉(“(001)”)。请问,这个正则表达式怎么写啊? java与c语言的对照 一个超一流高手对一个问题的解决办法啊!但是我看不明白啊!有人能告诉我一下吗?谢谢啊 我用BufferedImage读入一张GIF图片,该图片没有底色,然后我g2d.drawImage,再保存为png,发现一个问题 一条语句的退出 写表达式 聊天程序发送信息和接收信息问题,解决再加分 ----怎样屏蔽最小化按钮----- 请问cast方法(操作符)是如何使用的 java如何计算两个时间的差值,如何在两个时间之间相加,减?得到的值要求精确到秒! 动态语言中的设计模式 java分类线程同步问题 关于IPv6 socket连接不上的问题
String xml = "";
xml += "<TBLDATA>";
xml += "<姓名>张三</姓名><单位(部门)>ss</单位(部门)>";
xml += "</TBLDATA>";
//将“(”替换成left
xml = xml.replace("(", "left");
//将“)”替换成right
xml = xml.replace(")", "right");
System.out.println(xml+","+xml.indexOf("("));
try {
Document dom=DocumentHelper.parseText(xml);
System.out.println(dom.getRootElement().elementTextTrim("单位left部门right"));
} catch (Exception e) {
e.printStackTrace();
}
我有个和你类似的问题,我要解析一段报文,格式如下:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<业务(所属)>BZ(001)032</业务(所属)>
<业务相关编号>BP NO. GDBGZGFBP1100391</业务相关编号>
</root>
问题:如果节点中有圆括号的话则会导致无法解析(“(所属)”),
现在的思路是用正则表达式将节点(标签)中的圆括号以及圆括号中的内容去掉。
PS:要保证节点对应的值中的圆括号以及括号中的内容不被去掉(“(001)”)。请问,这个正则表达式怎么写啊?