2012-01-10 30 views
0

我有這樣的XML文件阻止Java的變壓器從更換

<test>&#13; &#xD; &lt;</test> 

,我用下面的java代碼tranforming它,XSLT文件只是使XML

public class XMLTransform { 

    public static void main(String[] args) { 

     try { 
      StreamSource source = new StreamSource(new File("file.xml")); 
      StreamSource stylesource = new StreamSource(new File("trans.xsl")); 
      SAXTransformerFactory transformFactory = (SAXTransformerFactory) TransformerFactory.newInstance(); 
      Transformer transformer = transformFactory.newTransformer(stylesource); 
      transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "no");   
      transformer.setOutputProperty(OutputKeys.INDENT, "yes"); 
      StreamResult result = new StreamResult(System.out); 
      transformer.transform(source,result); 
     } 
     catch (Exception e) { 
      e.printStackTrace(); 
     } 

    } 
} 

我的問題的副本是java取代了規範回車& #xD&#13這是ascii字符。

有關如何保留回車的規範名稱的任何幫助?

+0

不是「規範」。你能否引用一個說明它的權威?並解釋它爲什麼重要?這聽起來像是一個X-Y問題。 – erickson 2012-01-10 19:11:13

回答

1

我發現SAXON變壓器不做這個修改。 感謝您的回答。

2

你知道那些是完全相同的字符,只是十進制形式(&#13)與十六進制形式(&#xD)(本身沒有w/ascii)。

+0

是的,我確實意識到這一點。但是有可能保留規範的嗎?無論如何可能... – boom123 2012-01-10 17:12:39

+0

是否有任何transformer.setOutputProperty選項,將幫助我呢?也許我錯過了什麼... – boom123 2012-01-10 17:23:49

+1

@ user685415 - 是什麼讓一個「規範」而不是其他?在某個地方的規格? – jtahlborn 2012-01-10 17:37:46