用jdom写xml文件,像<符号,怎么让它不转义啊?

Haisen大王 2015-06-25 10:56:43
用jdom写xml文件,像<符号,怎么让它不转义啊?
...全文
872 15 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
鲫鱼07 2018-12-17
  • 打赏
  • 举报
回复
addCDATA()
Night999 2018-06-07
  • 打赏
  • 举报
回复
11楼的答案是正确的。重写escapeElementEntities方法。
  • 打赏
  • 举报
回复
引用 12 楼 qq_16397789 的回复:
楼主问题解决了吗,我研究到了这一步
		EscapeStrategy es = new EscapeStrategy() {
			@Override
			public boolean shouldEscape(char arg0) {
				// TODO Auto-generated method stub
				return false;
			}
		};
		
		Format format = Format.getPrettyFormat();
		format.setEscapeStrategy(es);
		format.setEncoding("utf-8");
		
		XMLOutputter op = new XMLOutputter(format);
但是好像并没什么卵用,没起作用,看看你解决没
难道必须用 CDATA 了~~~~~~~~~~
  • 打赏
  • 举报
回复
楼主问题解决了吗,我研究到了这一步
		EscapeStrategy es = new EscapeStrategy() {
			@Override
			public boolean shouldEscape(char arg0) {
				// TODO Auto-generated method stub
				return false;
			}
		};
		
		Format format = Format.getPrettyFormat();
		format.setEscapeStrategy(es);
		format.setEncoding("utf-8");
		
		XMLOutputter op = new XMLOutputter(format);
但是好像并没什么卵用,没起作用,看看你解决没
u010226435 2016-08-23
  • 打赏
  • 举报
回复
llw258258 2016-07-29
  • 打赏
  • 举报
回复
引用 8 楼 tigeryu 的回复:
CDATA是用专门的方法插入的,不是把CDATA拼在字符串往里插的
8楼正解。具体操作 Element title = new Element("title"); CDATA cdata = new CDATA("<国内最新新闻>"); title.addContent(cdata); 得出结果就直接是 <title><![CDATA[上海移动互联网产业促进中心正式揭牌]]></title> 从知乎用户:小米粥 的答案 复制粘贴过来的
sicy_xixi 2015-12-14
  • 打赏
  • 举报
回复
Format format=Format.getPrettyFormat();
wuyue-tiger 2015-07-31
  • 打赏
  • 举报
回复
CDATA是用专门的方法插入的,不是把CDATA拼在字符串往里插的
Haisen大王 2015-07-30
  • 打赏
  • 举报
回复
引用 6 楼 jiao_zg 的回复:
[quote=引用 3 楼 Inhibitory 的回复:] 1. 是 attribute 的值,只能转义 2. 是 element 的值,可以转义,也可以直接放在 CDATA 里
cdata失效,所有的左尖括号被转义了,包括cdata前面的那个[/quote] 一直没问道答案,
水上冰石 2015-07-30
  • 打赏
  • 举报
回复
引用 3 楼 Inhibitory 的回复:
1. 是 attribute 的值,只能转义 2. 是 element 的值,可以转义,也可以直接放在 CDATA 里
cdata失效,所有的左尖括号被转义了,包括cdata前面的那个
水上冰石 2015-07-30
  • 打赏
  • 举报
回复
顶一个,我用的是axis2,遇到同样问题。我是通过axis2生成的客户端代码,用main方法模拟调用soapui,结果在soapui里面的是没问题的,代码拼接的就是有错误的。用抓包工具看发现cdata的尖括号被转义了,导致cdata不好用,出了问题。有解决方案吗?
Haisen大王 2015-06-26
  • 打赏
  • 举报
回复
引用 1 楼 attilax的回复:
如果是数据区段的,必须要转义,如果是指令段的,可以不转义..
。。。。我要输出<,结果输出了转义
Haisen大王 2015-06-26
  • 打赏
  • 举报
回复
引用 3 楼 Inhibitory 的回复:
1. 是 attribute 的值,只能转义 2. 是 element 的值,可以转义,也可以直接放在 CDATA 里
这是生成的xml <?xml version="1.0" encoding="GBK"?> <rss version="2.0"> <channel> <title><[CDATA[上海移动互联网产业促进产业正式揭牌]]></title> </channel> </rss> 如下是我希望的: <?xml version="1.0" encoding="GBK"?> <rss version="2.0"> <channel> <title><[CDATA[上海移动互联网产业促进产业正式揭牌]]></title> //我希望生成的xml是这样的, </channel> </rss>
Inhibitory 2015-06-26
  • 打赏
  • 举报
回复
1. 是 attribute 的值,只能转义 2. 是 element 的值,可以转义,也可以直接放在 CDATA 里
attilax 2015-06-25
  • 打赏
  • 举报
回复
如果是数据区段的,必须要转义,如果是指令段的,可以不转义..

62,634

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧