java怎样把<p>的"<"和">"vb 写入文本文件到一个xml文本中,到底怎样转义,网上的试了不对,在线等,快点!!!

1301人阅读
今天,遇到了一个郁闷的事情,我调用了一个自己用visual studio 2003 写的asp webservice, 这个service返回一个xml字符串:&root&hehe&/root&,但是我得到的却是&root&hehe&/root&.goole了半天,也没有找到类似的办法,这怎么解决呢。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:23997次
排名:千里之外
原创:39篇
(1)(1)(3)(1)(1)(5)(1)(1)(1)(3)(6)(3)(1)(1)(1)(1)(1)(1)(1)(1)(2)(2) 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
java教材21-XML基础(IT job就业培训)
下载积分:30
内容提示:java教材21-XML基础(IT job就业培训)
文档格式:PDF|
浏览次数:2|
上传日期: 22:37:24|
文档星级:
该用户还上传了这些文档
java教材21-XML基础(IT job就业培训)
官方公共微信温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
除了自己一无所有的北漂!!
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
双引号实体必须以符号"&"开头,以符号";"结尾。&注意: 只有"&" 字符和"&"字符对于XML来说是严格禁止使用的。剩下的都是合法的,为了减少出错,使用实体是一个好习惯。
CDATA部件:在CDATA内部的所有内容都会被解析器忽略。如果文本包含了很多的"&"字符和"&"字符——就象程序代码一样,那么最好把他们都放到CDATA部件中。一个 CDATA 部件以"&![CDATA[" 标记开始,以"]]&"标记结束;
CDATA注意事项:CDATA部件之间不能再包含CDATA部件(不能嵌套)。如果CDATA部件包含了字符"]]&" 或者"&![CDATA[" ,将很有可能出错哦。同样要注意在字符串"]]&"之间没有空格或者换行符。
2,Dom4j格式化转义字符问题:
service.xml&?xml&version="1.0"&encoding="UTF-8"?&&&&&result&&&&&service&&&&&&&service_name&extractService&/service_name&&&&&&&service_permission&&![CDATA[&auths&&&auth&&&data&re_org&/data&&&oper&read&/oper&&&/auth&&&/auths&]]&&/service_permission&&&&&&/service&&&&&&/result&&&
上面的XML在被Dom4j格式化的时候,自动会被转义,转义后的内容如下:
&?xml&version="1.0"&encoding="UTF-8"?&&&&&result&&&&&service&&&&&&&service_name&extractSrevice&/service_name&&&&&&&service_permission&&![CDATA[&auths&&&auth&&&data&re_org&/data&&&oper&read&/oper&&&/auth&&&/auths&]]&&/service_permission&&&&&&/service&&&&&&/result&&&
这样,显然不是想要的结果,因为CDATA不需要再转义了。所以在Dom4j中,我们可以这样处理:
/**& * 格式化 xml&& * @param 要格式化的xml&& * @throws Exception& * @return 格式化后的Xml& */&public&String&formatXML_cdata(String&inputXML)&throws&Exception&{&&&&&&&&&&SAXReader&reader&=&new&SAXReader();&&&&&&&&&&Document&document&=&reader.read(new&StringReader(inputXML));&&&&&&&&&&String&requestXML&=&&&&&&&&&&&XMLWriter&xw&=&&&&&&&&&&&if&(document&!=&null)&{&&&&&&&&&&&&try&{&&&&&&&&&&&&&&&&OutputFormat&format&=&OutputFormat.createPrettyPrint();&&&&&&&&&&&&&&&&&format.setEncoding("UTF-8");&&&&&&&&&&&&&&&&&StringWriter&sw&=&new&StringWriter();&&&&&&&&&&&&&&&&&xw&=&new&XMLWriter(sw,&format);&&&&&&&&&&&&&&&&&xw.setEscapeText(false);&&&&&&&&&&&&&&&&xw.write(document);&&&&&&&&&&&&&&&&requestXML&=&sw.toString();&&&&&&&&&&&&&&&&xw.flush();&&&&&&&&&&&&&}&finally&{&&&&&&&&&&&&&&if&(xw&!=&null)&{&&&&&&&&&&&&&&&&try&{&&&&&&&&&&&&&&&&&&xw.close();&&&&&&&&&&&&&&&&}&catch&(IOException&e)&{&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&}&&&&&&&&&&&&}&&&&&&&&&&}&&&&&&&&&&return&requestXML;&&&&&&}&&
其它同我上篇博文所写相同,在这里特别需要注意的是:
createPrettyPrint():是一个静态辅助方法,可以用来创建漂亮的默认打印格式。此格式会缩进2个空格,修剪每个元素后的空格和其它所有的空白 。
setEscapeText(false):在该功能中,这个函数是很重要的。它决定文本输出是否应该被转义。这是默认启用的,它可以禁用。如果是文本输出格式,如在XSLT中,我们可以有XML,HTML或文本输出。
以下就是我们想要的输出:
&?xml&version="1.0"&encoding="UTF-8"?&&&&&&result&&&&&&head&&&&&&&&stat&0&/stat&&&&&&&&message&success&/message&&&&&&&&npage&0&/npage&&&&&&/head&&&&&&body&&&&&&&&services&&&&&&&&&&service&&&&&&&&&&&&service_name&addPerson&/service_name&&&&&&&&&&&&desc&人员增加&/desc&&&&&&&&&&&&wsdl&http://192.168.3.162:8080/resource_0010/services/resource?wsdl&/wsdl&&&&&&&&&&&&service_permissions&&auths&&&auth&&&data&re_org&/data&&&oper&read&/oper&&&/auth&&&auth&&&data&re_org&/data&&&oper&write&/oper&&&/auth&&&auth&&&data&re_org&/data&&&oper&read/write&/oper&&&/auth&&&/auths&&/service_permissions&&&&&&&&&&/service&&&&&&&&&&service&&&&&&&&&&&&service_name&deletPersom&/service_name&&&&&&&&&&&&desc&人员裁减&/desc&&&&&&&&&&&&wsdl&http://192.168.3.162:8080/resource_0011/services/resource?wsdl&/wsdl&&&&&&&&&&&&service_permissions&&auths&&&auth&&&data&re_org&/data&&&oper&read&/oper&&&/auth&&&auth&&&data&re_org&/data&&&oper&write&/oper&&&/auth&&&auth&&&data&re_org&/data&&&oper&read/write&/oper&&&/auth&&&/auths&&/service_permissions&&&&&&&&&&/service&&&&&&&&/services&&&&&&/body&&&&/result&&& 原文:
阅读(7877)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
在LOFTER的更多文章
loftPermalink:'',
id:'fks_',
blogTitle:'java 在生成XML中输出大于号、小于号',
blogAbstract:'\r\n1,XML CDATA部件:\r\n\r\n在XML文档中的所有文本都会被解析器解析。只有在CDATA部件之内的文本会被解析器忽略。不合法的XML字符必须被替换为相应的实体。如果在XML文档中使用类似\"&\" 的字符, 那么解析器将会出现错误,因为解析器会认为这是一个新元素的开始。\r\n',
blogTag:'',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:8,
publishTime:9,
permalink:'blog/static/',
commentCount:0,
mainCommentCount:0,
recommendCount:1,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:false,
hostIntro:'除了自己一无所有的北漂!!',
hmcon:'0',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}xml|LOFTER(乐乎) - 记录生活,发现同好
LOFTER for ipad —— 记录生活,发现同好
记录生活,发现同好
183位喜爱 #xml 的小伙伴邀你来玩
查看高清大图
喜欢并收藏内容
关注达人获取动态
评论私信与同好交流
10秒注册,查看更多优质内容
网易公司版权所有 & ICP备:浙B2-增值电信业务经营许可证:浙B2-
{if x.type==1}
{if !!x.title}${x.title}{/if}
{if !!x.digest}${x.digest}{/if}
{if x.type==2}
{if x.type==3}
{if x.type==4}
加入 LOFTER 开通功能特权
查看高清大图
喜欢并收藏内容
关注达人获取动态
评论私信与同好交流}

我要回帖

更多关于 vb 写入文本文件 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信