[英]Special characteres error on saving XML file in Java (“<” and “>”)
[英]Saving a .xml file in Java
我正在使用WebServiceTemplate類,並且將從Web服務接收的XML響應存儲在文件中。 但是.xml文件出於某種原因包含所有<
, >
另存為;<
和;>
。
有什么辦法可以在保存之前將其轉換為正確的.xml
文件?
InputStream inputStream = new WebServiceClientImpl().getClass().getResourceAsStream("Request.xml");
StreamSource source = new StreamSource(inputStream2);
StreamResult result = new StreamResult(new File("Response.xml"));
webServiceTemplate.sendSourceAndReceiveToResult(defaultURI,source, result);
request.xml:
<list>
<requestXmlString xs:type="type:string" xmlns:xs="http://www.w3.org/2000/XMLSchema- instance">
<![CDATA[<request operationName="list" locale="en">
<resourceDescriptor name="" wsType="folder" uriString="/" isNew="false">
<label>null</label>
</resourceDescriptor>
</request>]]>
</requestXmlString>
</list>
Response.xml
<?xml version="1.0" encoding="UTF-8"?><listResponse xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><listReturn xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xsd:string"><?xml version="1.0" encoding="UTF-8"?>
<operationResult version="2.0.1">
<returnCode><![CDATA[0]]></returnCode>
<resourceDescriptor name="Record1" wsType="reportUnit" uriString="/xyz" isNew="false">
<label><![RECORD 1]]></label>
<creationDate>1338285680000</creationDate>
<resourceProperty name="PROP_RESOURCE_TYPE">
<value><!
在寫入文件時,將<>&之類的字符序列化,以便以后可以由XML解析器讀取。
您可以嘗試在文本節點上使用CDATA編碼。 在這種情況下,您將在CDATA塊中包含<。
我想到了! :)有執行此操作的庫。 這么簡單
StringEscapeUtils.unescapeXml(xml)
會成功的!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.