2016-08-11 10 views
0

私たちの要件として、xml出力に空白を入れ、xsltを使用してxmlを作成し、JAX Bに空白を返します。たとえば、JAXB-CXFからのアンマーシャリング時に空白が削除されました

<code>test</code> 
    <value> </value> 

しかし、これは、JAXBのアンマーシャラーによって処理されたときに我々は空白を失っている、我々は

は事前に

よろしく ハリをありがとう空白でXMLを取得することができますどのような方法があります

答えて

0

この使用してみてください:XMLをマーシャリングする前に

marshaller.setProperty(Marshaller.JAXB_ENCODING, "UTF-8") 

を。

この解決法では仕事をしない場合は、独自の読み取りフィルタを作成できます。

ソース:https://recalll.co/app/?q=java%20-%20JAXB%20unmarshal%20deletes%20newline

XMLStreamReader xsr = xif.createXMLStreamReader(new StreamSource("src/forum22284324/input.xml")); 
    xsr = xif.createFilteredReader(xsr, new StreamFilter() { 

     @Override 
     public boolean accept(XMLStreamReader reader) { 
      if(reader.getEventType() == XMLStreamReader.CHARACTERS) { 
       return reader.getText().trim().length() > 0; 
      } 
      return true; 
     } 

    }); 
+0

はちょうどそれが今私たちのために働いていないことを更新するには、あなたの答えをありがとう – user1293071

関連する問題