2010-11-22 52 views
2

日本語の文字を含むxmlファイルを読み込むコードを記述しました。 xmlファイルを読むために書かれた コードは次のとおりです。System.Xml.XmlExceptionが発生しました。名前は 'G'文字、16進値0xFF27で始めることはできません。行44、位置4

 DataSet xmlData = new DataSet();    
     xmlData.ReadXml("c:\\abc.xml"); 

しかし、xmlファイルは、英語の文字「G」行が含まれているため、例外「System.Xml.XmlException」を発生しているこのコードを実行しながら、44

エラーメッセージは次のようになります:= "名前は 'G'文字で始まり、16進数値0xFF27、行44、位置4で始めることはできません。

どうすればこの問題を解決できますか? エンコードの説明を含むxmlファイルの詳細を以下に示します。

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

ありがとうございます。 Bijoy。

+0

特に44行目でXMLを表示できますか? – Cheeso

+0

DBNこれは行44の内容です –

+1

XMLタグ名にはASCII文字のみを使用してください。 –

答えて

3

これは普通の文字ではなく、FULLWIDTH LATIN CAPITAL LETTER Gです。

通常のGと交換してください。

+0

このxmlファイルは、エンドユーザーによって提供されます。私たちは編集するつもりはない。私たちはこれを他のエンコーディングスキームを使って読むことができますか? –

+2

@bjoy:できません。それは不正なXMLです。 '<>'を解析できないように、 '<G>'も解析できません。 – SLaks

+0

@SLaks、ありがとう。しかし、私はこのXMLを任意のコストで読む必要があります。 –

2

0xFF27は、ラテン文字 'G'と同じではない全角ラテン文字 'G'です。全角文字の代わりに(範囲FF01-FF5E)ラテン文字(ASCII範囲)を使用する必要があります。 XMLが大きすぎない場合は、英語キーボードを使用し、すべての文字を1つずつ置き換えてください。

関連する問題