2012-01-26 13 views
1

新しい.net C#プログラミングには、私はデータセットにリモートXMLファイルを読んで、データセットでCrystalレポートを作成する必要があります。xmlデータをC#でDataSetに読み込む方法は?

これまでのところ、すべてがクリスタルレポートビューアで正しく

を示すいくつかのUnicode文字を除いて正常に動作しますので、これはUnicodeを含むXMLファイルをロードするための正しい方法は何ですか?

string reportDataPath = "http://domain/test/data.xml"; 

DataSet reportData = new DataSet(); 
try 
{ 
    reportData.ReadXml(reportDataPath); 
} 
catch 
{ 

} 

編集

<?xml version="1.0" encoding="UTF-8"?> 

のように設定されたXMLファイルのエンコードにソース

report = new SampleReport(); 
report.SetDataSource(reportData); 

を設定するには: - これは話して問題イムです

。これはxmlファイル内のテキストが

enter image description here

クリスタルレポートビューアの下に表示され

シンハラ語Unicodeフォントを使用することですが、テキスト

enter image description here

よろしく下に示し

通常
+0

XMLを読むことに問題がある以上にCrystal Reportsに問題があるようです。 Unicode文字が正しく表示されない場合は、例を挙げてください。 –

+0

ファイルのエンコーディングが間違っている可能性がありますか? –

+0

私はerror imのプレビューで質問を編集しました。 –

答えて

1

私はいつもしてみてください私のエンコーディングの型を明示的にするために、私は次のようにします:

System.Data.DataSet reportData = new System.Data.DataSet(); 
System.Net.WebRequest request= System.Net.WebRequest.Create(reportDataPath); 

using (System.Net.WebResponse response = (System.Net.HttpWebResponse)request.GetResponse()) { 
    using (System.IO.StreamReader sr = new System.IO.StreamReader(response.GetResponseStream(), Encoding.UTF8)) { 
     reportData.ReadXml(sr); 
    } 
} 

ちょうどあなたが表示されますほとんど何など、UTF-16、UTF-8、Unicodeは異なるフォーマットを使用して符号化することができることに注意してはUTF-8です。 .NETでは、エンコーディングタイプEncoding.UnicodeはUTF-16です

+0

これは情報と同じ出力にも感謝し、XMLリーダーとは何の関係もないようです。そのフォントは大きな問題を抱えています –

関連する問題