[转]输出的Xml里面<都变成&lt; >都变成&gt;怎么还原?

博客内容讨论了如何将XML字符串中转义的`<`和`>`字符还原。通过使用正则表达式和replace方法,将`&lt;`替换为`<`,`&gt;`替换为`>`, 最后用还原后的字符串创建新的XML对象。" 105443031,8067877,Java实现AMR到MP3转换,"['Java', '音频处理', '文件操作', '转换工具', '多媒体开发']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

http://bbs.9ria.com/thread-77468-1-1.html

 

 

 

本帖最后由 鸩羽千夜 于 2011-3-30 11:56 编辑

我有一个XML,通过这个XML读取本地的图片,到一个编辑器里面去,在编辑器里,我可以根据图片的上下位置改动,动态调整,XML里面对应的那一项的顺序.
XML(curXML)如下..
  1. <pages dragStep="20" wheelStep="50" walkStep="20" allowScale="true" scaletofit="true">
  2. <page url="pics/1/001.jpg"/>
  3. <page url="pics/1/002.jpg"/>
  4. <page url="pics/1/003.jpg"/>
  5. <page url="pics/1/004.jpg"/>
  6. <page url="pics/1/005.jpg"/>
  7. <page url="pics/1/006.jpg"/>
  8. <page url="pics/1/007.jpg"/>
  9. <page url="pics/1/008.jpg"/>
  10. <page url="pics/1/009.jpg"/>
  11. <page url="pics/1/010.jpg"/>
  12. <page url="pics/1/011.jpg"/>
  13. <page url="pics/1/012.jpg"/>
  14. <page url="pics/1/013.jpg"/>
  15. <page url="pics/1/014.jpg"/>
  16. <page url="pics/1/015.jpg"/>
  17. <page url="pics/1/016.jpg"/>
  18. <page url="pics/1/017.jpg"/>
  19. <page url="pics/1/018.jpg"/>
  20. <page url="pics/1/019.jpg"/>
  21. <page url="pics/1/020.jpg"/>
  22. </pages>
复制代码
我把里面的page全部读取到数组listduplicateArr,排好后,删掉curXML里面的所有page,
  1. delete curXml.page;
复制代码
然后把数组里面的那些page再填进来
  1. for(var ii:int=listduplicateArr.length-1;ii>=0;ii--)
  2.                         {
  3.                                 curXml.insertChildAfter(null,listduplicateArr[ii]);
  4.                         }
复制代码
然后trace下,
  1. trace("当前curXml的内容是: "+'\n'+curXml.toXMLString());
复制代码
输出是:
  1. 当前curXml的内容是: 
  2. <pages dragStep="20" wheelStep="50" walkStep="20" allowScale="true" scaletofit="true">
  3.   &lt;page url="pics/1/001.jpg"/&gt;
  4.   &lt;page url="pics/1/003.jpg"/&gt;
  5.   &lt;page url="pics/1/002.jpg"/&gt;
  6.   &lt;page url="pics/1/004.jpg"/&gt;
  7.   &lt;page url="pics/1/005.jpg"/&gt;
  8.   &lt;page url="pics/1/006.jpg"/&gt;
  9.   &lt;page url="pics/1/007.jpg"/&gt;
  10.   &lt;page url="pics/1/008.jpg"/&gt;
  11.   &lt;page url="pics/1/009.jpg"/&gt;
  12.   &lt;page url="pics/1/010.jpg"/&gt;
  13.   &lt;page url="pics/1/011.jpg"/&gt;
  14.   &lt;page url="pics/1/012.jpg"/&gt;
  15.   &lt;page url="pics/1/013.jpg"/&gt;
  16.   &lt;page url="pics/1/014.jpg"/&gt;
  17.   &lt;page url="pics/1/015.jpg"/&gt;
  18.   &lt;page url="pics/1/016.jpg"/&gt;
  19.   &lt;page url="pics/1/017.jpg"/&gt;
  20.   &lt;page url="pics/1/018.jpg"/&gt;
  21.   &lt;page url="pics/1/019.jpg"/&gt;
  22.   &lt;page url="pics/1/020.jpg"/&gt;
  23. </pages>
复制代码
然后这么输出的话
  1. trace(curXml.page);        trace(curXml.children());
复制代码
结果是
  1. **这里是一个空行*****
  2. <page url="pics/1/001.jpg"/><page url="pics/1/003.jpg"/><page url="pics/1/002.jpg"/><page url="pics/1/004.jpg"/><page url="pics/1/005.jpg"/><page url="pics/1/006.jpg"/><page url="pics/1/007.jpg"/><page url="pics/1/008.jpg"/><page url="pics/1/009.jpg"/><page url="pics/1/010.jpg"/><page url="pics/1/011.jpg"/><page url="pics/1/012.jpg"/><page url="pics/1/013.jpg"/><page url="pics/1/014.jpg"/><page url="pics/1/015.jpg"/><page url="pics/1/016.jpg"/><page url="pics/1/017.jpg"/><page url="pics/1/018.jpg"/><page url="pics/1/019.jpg"/><page url="pics/1/020.jpg"/>
复制代码
请问到底是哪里出了问题,我还能还原吗?


最佳答案zystudios
这个是由于html解析造成的,xml的编码格式要对应,实在不行用replace把&gt替换成>

或者试试xml的usecodepage








这个是由于html解析造成的,xml的编码格式要对应,实在不行用replace把&gt替换成>

或者试试xml的usecodepage

 

 

 

 

 

 

 

 

 

 

自己解决了,方法是有点笨:直接把最后这个怪怪的XML,赋给一个string,在这个string里执行正则relace,然后再把string,以XML形式赋给XML。
  1. var mystring:String=curXml.toXMLString();
  2.                         var leftPattern:RegExp=/&lt;/g;
  3.                         var rightPattern:RegExp=/&gt;/g;
  4.                         mystring=mystring.replace(leftPattern,"<");
  5.                         mystring=mystring.replace(rightPattern,">");
  6.                         curXml=new XML(mystring);
复制代码

 

&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset= =iso-8859-1"&gt; &lt;title&gt;Trioptics Certificate&lt;/title&gt; &lt;link type="text/css" rel="stylesheet" href="certificate.css"&gt;&lt;/link&gt; &lt;base href="file:///C:/Program%20Files%20(x86)/TRIOPTICS%20GmbH/MTF-LAB%2= 05/Certificates/"&gt;&lt;/base&gt;&lt;/head&gt; &lt;body id="IBodyCert" class="CBodyCert"&gt; &lt;!-- open certificate table --&gt; &lt;table align="left" id="ITableCert" class="CTableCert"&gt; &lt;!-- Header --&gt; &lt;tbody&gt;&lt;tr id="ITRCompany" class="CTRHeader"&gt; &lt;td id="ITDCompany" class="CTDHeader"&gt; &lt;div id="IDivCompany" class="CDivHeader"&gt;ImageMaster - Certificate&lt;/div&gt; &lt;/td&gt; &lt;td id="ITDLogo" class="CTDHeader"&gt; &lt;img src="./img/Trioptics-Logo-250x65.png" id="ITDLogo" class="CTDHea= der"&gt; &lt;/td&gt; &lt;/tr&gt; &lt;tr id="ITDSlogan" class="CTRHeader"&gt; &lt;td colspan="2" id="ITDSlogan" class="CTDHeader"&gt; &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td colspan="2"&gt; &lt;pre&gt;Company : ****** Operator : ****** Time/Date : 13:30:33 June 12, 2025 Sample ID : ****** Measure Program : MTF vs. Field Temperature : 20°C Measured with : &lt;a href="http://www.trioptics.com/"&gt;TRIOPTICS&lt;/a&gt; - MT= F-LAB - Vers. 5.16.1 Instrument S/N : 09-113-0519 Comments : SN215U0540 &lt;/pre&gt; &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td colspan="2"&gt; &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td colspan="2"&gt; &lt;hr&gt; &lt;b&gt;Measurement Parameter: MTF vs. Image Height&lt;/b&gt; &lt;pre&gt;Setup Type : Object Infinite / Image Finite EFL (Collimator): 50 mm Wavelength : 940 nm (NIR) EFL (Sample) : 1.5550 mm F-Number : 2.0000 Object Angle : -0.0198 ° Focus Position : 85.8471 Sample Azimuth : 0.0 ° &lt;/pre&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td colspan="2"&gt; &lt;hr&gt; &lt;b&gt;Measurement Graph: MTF vs. Image Height&lt;/b&gt; &lt;br&gt;&lt;br&gt; &lt;right&gt; &lt;img src="Chart12.png"&gt; &lt;/right&gt; &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td colspan="2"&gt; &lt;hr&gt; &lt;b&gt;Measurement Table: MTF vs. Image Height&lt;/b&gt; &lt;br&gt;&lt;br&gt; &lt;!-- open measurement table --&gt; &lt;table cellspacing="0" align="left" id="ITableDataItems" class="CTa= bleDataItems"&gt; &lt;!-- begin table caption --&gt; &lt;tbody&gt;&lt;tr id="ITRDataCaption" class="CTRDataCaption"&gt; &lt;td id="ITDCaptionBlank" class="CTDCaptionBlank"&gt;&lt;/td&gt; &lt;td align="center" colspan="5" id="ITDDataCaption" class="CTDDataCa= ption"&gt;Image Height (mm)&lt;/td&gt; &lt;/tr&gt; &lt;tr id="ITRDataCaption" class="CTRDataCaption"&gt; &lt;td id="ITDDataCaption" class="CTDDataCaption"&gt;MTF&lt;/td&gt; &lt;td id="ITDDataCaption" class="CTDDataCaption"&gt;0.42800&lt;/td&gt; &lt;td id="ITDDataCaption" class="CTDDataCaption"&gt;0.29960&lt;/td&gt; &lt;td id="ITDDataCaption" class="CTDDataCaption"&gt;-0.00114&lt;/td&gt; &lt;td id="ITDDataCaption" class="CTDDataCaption"&gt;-0.29960&lt;/td&gt; &lt;td id="ITDDataCaption" class="CTDDataCaption"&gt;-0.42800&lt;/td&gt; &lt;td id="ITDDataCaption" class="CTDDataCaption"&gt;Legend&lt;/td&gt; &lt;/tr&gt; &lt;!-- end table caption --&gt; &lt;!-- begin measurement data --&gt; &lt;tr id="ITRDataItem" class="CTRDataItem"&gt; &lt;td id="ITDEven" class="CTDDataItem"&gt;Tan 100(lp/mm)&lt;/td&gt; &lt;td id="ITDEven" class="CTDDataItem"&gt;0.599&lt;/td&gt; &lt;td id="ITDEven" class="CTDDataItem"&gt;0.677&lt;/td&gt; &lt;td id="ITDEven" class="CTDDataItem"&gt;0.668&lt;/td&gt; &lt;td id="ITDEven" class="CTDDataItem"&gt;0.703&lt;/td&gt; &lt;td id="ITDEven" class="CTDDataItem"&gt;0.645&lt;/td&gt; &lt;td colspan="1" id="ITDLegend" class="CTDLegend"&gt;&lt;font color="ff000= 0"&gt;— — —&lt;/font&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr id="ITRDataItem" class="CTRDataItem"&gt; &lt;td id="ITDEven" class="CTDDataItem"&gt;Sag 100(lp/mm)&lt;/td&gt; &lt;td id="ITDEven" class="CTDDataItem"&gt;0.558&lt;/td&gt; &lt;td id="ITDEven" class="CTDDataItem"&gt;0.659&lt;/td&gt; &lt;td id="ITDEven" class="CTDDataItem"&gt;0.673&lt;/td&gt; &lt;td id="ITDEven" class="CTDDataItem"&gt;0.688&lt;/td&gt; &lt;td id="ITDEven" class="CTDDataItem"&gt;0.642&lt;/td&gt; &lt;td colspan="1" id="ITDLegend" class="CTDLegend"&gt;&lt;font color="ff000= 0"&gt;————&lt;/font&gt;&lt;/td&gt; &lt;/tr&gt; &lt;!-- end measurement data --&gt; &lt;!-- close measurement table --&gt; &lt;/tbody&gt;&lt;/table&gt;&lt;br clear="all"&gt; &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td colspan="2"&gt; &lt;hr&gt; &lt;b&gt;Measurement Parameter: MTF vs. Object Angle&lt;/b&gt; &lt;pre&gt;Setup Type : Object Infinite / Image Finite EFL (Collimator): 50 mm Wavelength : 940 nm (NIR) EFL (Sample) : 1.5550 mm F-Number : 2.0000 Object Angle : -0.0198 ° Focus Position : 85.8471 Sample Azimuth : 0.0 ° &lt;/pre&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td colspan="2"&gt; &lt;hr&gt; &lt;b&gt;Measurement Graph: MTF vs. Object Angle&lt;/b&gt; &lt;br&gt;&lt;br&gt; &lt;right&gt; &lt;img src="Chart11.png"&gt; &lt;/right&gt; &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td colspan="2"&gt; &lt;hr&gt; &lt;b&gt;Measurement Table: MTF vs. Object Angle&lt;/b&gt; &lt;br&gt;&lt;br&gt; &lt;!-- open measurement table --&gt; &lt;table cellspacing="0" align="left" id="ITableDataItems" class="CTa= bleDataItems"&gt; &lt;!-- begin table caption --&gt; &lt;tbody&gt;&lt;tr id="ITRDataCaption" class="CTRDataCaption"&gt; &lt;td id="ITDCaptionBlank" class="CTDCaptionBlank"&gt;&lt;/td&gt; &lt;td align="center" colspan="5" id="ITDDataCaption" class="CTDDataCa= ption"&gt;Object Angle (?&lt;/td&gt; &lt;/tr&gt; &lt;tr id="ITRDataCaption" class="CTRDataCaption"&gt; &lt;td id="ITDDataCaption" class="CTDDataCaption"&gt;MTF&lt;/td&gt; &lt;td id="ITDDataCaption" class="CTDDataCaption"&gt;-15.33590&lt;/td&gt; &lt;td id="ITDDataCaption" class="CTDDataCaption"&gt;-10.72937&lt;/td&gt; &lt;td id="ITDDataCaption" class="CTDDataCaption"&gt;0.00072&lt;/td&gt; &lt;td id="ITDDataCaption" class="CTDDataCaption"&gt;10.77662&lt;/td&gt; &lt;td id="ITDDataCaption" class="CTDDataCaption"&gt;15.40352&lt;/td&gt; &lt;td id="ITDDataCaption" class="CTDDataCaption"&gt;Legend&lt;/td&gt; &lt;/tr&gt; &lt;!-- end table caption --&gt; &lt;!-- begin measurement data --&gt; &lt;tr id="ITRDataItem" class="CTRDataItem"&gt; &lt;td id="ITDEven" class="CTDDataItem"&gt;Tan 100(lp/mm)&lt;/td&gt; &lt;td id="ITDEven" class="CTDDataItem"&gt;0.599&lt;/td&gt; &lt;td id="ITDEven" class="CTDDataItem"&gt;0.677&lt;/td&gt; &lt;td id="ITDEven" class="CTDDataItem"&gt;0.668&lt;/td&gt; &lt;td id="ITDEven" class="CTDDataItem"&gt;0.703&lt;/td&gt; &lt;td id="ITDEven" class="CTDDataItem"&gt;0.645&lt;/td&gt; &lt;td colspan="1" id="ITDLegend" class="CTDLegend"&gt;&lt;font color="ff000= 0"&gt;— — —&lt;/font&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr id="ITRDataItem" class="CTRDataItem"&gt; &lt;td id="ITDEven" class="CTDDataItem"&gt;Sag 100(lp/mm)&lt;/td&gt; &lt;td id="ITDEven" class="CTDDataItem"&gt;0.558&lt;/td&gt; &lt;td id="ITDEven" class="CTDDataItem"&gt;0.659&lt;/td&gt; &lt;td id="ITDEven" class="CTDDataItem"&gt;0.673&lt;/td&gt; &lt;td id="ITDEven" class="CTDDataItem"&gt;0.688&lt;/td&gt; &lt;td id="ITDEven" class="CTDDataItem"&gt;0.642&lt;/td&gt; &lt;td colspan="1" id="ITDLegend" class="CTDLegend"&gt;&lt;font color="ff000= 0"&gt;————&lt;/font&gt;&lt;/td&gt; &lt;/tr&gt; &lt;!-- end measurement data --&gt; &lt;!-- close measurement table --&gt; &lt;/tbody&gt;&lt;/table&gt;&lt;br clear="all"&gt; &lt;/td&gt; &lt;/tr&gt; &lt;!-- close certificate table --&gt; &lt;/tbody&gt;&lt;/table&gt; &lt;/body&gt;&lt;/html&gt; 为啥这个内容调用QDomDocument的setContent会失败
最新发布
06-28
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值