2016-03-31 4 views
0

私は、xmlファイルを持っている:JAXBのタブを含むXMLファイルをアンマーシャリングできませんか?次のように

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<billFile fileName=".dat" hasHeader="false" fieldDelimiter=" "/> 

fieldDelimiterは、タブが含まれています。 Unmarshaller.unmarshalを呼び出してこのXMLファイルをオブジェクトに変換すると、タブはスペースで置き換えられます。私はそれをタブのままにしておきたい。ここで私が持っているJavaのコードは次のとおりです。

import java.io.StringReader; 

import javax.xml.bind.JAXBContext; 
import javax.xml.bind.JAXBException; 
import javax.xml.bind.Unmarshaller; 
import javax.xml.transform.stream.StreamSource; 


public class XMLToConfig 
{ 
    public static void main(String[] args) throws JAXBException 
    { 
    String input     = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <billFile fileName=\".dat\" hasHeader=\"false\" fieldDelimiter=\" \"/>"; 
    JAXBContext jaxbContext  = JAXBContext.newInstance(BillFile.class); 
    Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller(); 
    BillFile bf     = (BillFile)jaxbUnmarshaller.unmarshal(new StreamSource(new StringReader(input), "UTF8")); 
    } 
} 
+0

、使用します' \ t' there –

+0

\ tを使用すると同じ問題が発生します。 – Wael

答えて

1

あなたが代わりに本当のタブのタブのUnicodeを使用する必要があります。input`は、文字列リテラルに割り当てられている `として

unicode for tab and sapce