2012-03-27 10 views
-2

英語のタグでXMLファイルを読み込むとすべて正常に動作しますが、ギリシャ語で書かれたタグをXMLファイルにロードしようとすると、何も起こりません。
コードのどこかでエンコーディングを変更する必要がありますか?タグがギリシャ語で書かれているときにXMLファイルを読み込むことができないのはなぜですか?

XmlDocument xdoc = new XmlDocument(); 
xdoc.Load(filename); 
XmlNode root = xdoc.DocumentElement; 
if (root.HasChildNodes) 
     { 
      for (int i = 0; i < root.ChildNodes.Count; i++) 
      { 
       richTextBox1.AppendText(root.ChildNodes[i].InnerXml + "\n"); 
      } 
     } 
+7

正しく動作しないエラーとサンプルXMLを入力してください。 「何もできません」は有用ではありません。つまり、あなたのどこにいても太陽がまだ浮上していると思います。 –

+3

「何も動作しません」は非常に曖昧な記述です。何が起こるのですか? –

+0

は、ギリシャ文字[リンク](http://ge.tt/8kcwuYF/v/0?c)で使用するXMLファイルのサンプルです。そして、正確には、ノードを認識していないように見えるのは、次のタグの行「\ n」を変更しないためです。 – Karapapas

答えて

1

は、あなたのリッチテキストボックスがtrueに設定された複数行のプロパティを持っていることを確認します:
これは私が使用するコードです。デフォルトはtrueですが、変更した可能性があります。また、\ nの代わりにEnvironment.NewLineを使用します。

また、IntnerTextはタグなしで値を取得します。 InnerXmlはマークアップも提供します。

+0

Environment.NewLineは機能しませんでしたが、このアイデアに感謝します。私が知っているInnerXmlまでは、タグが英語で書かれていればマークアップも完璧に動作します。 – Karapapas

2

ファイルをダウンロードし、デシリアライズ/表示しました。

public class ΦΑΡΜΑΚΑ 
{ 
    public string A; 
    public string ΦΑΡΜ_ΑΓΩΓΗ; 
    public string ΧΟΡΗΓΗΣΗ; 
    public string ΛΗΞΗΣ; 
    public string ΑMKA; 
} 

XmlSerializer xml = new XmlSerializer(typeof(ΦΑΡΜΑΚΑ[]),new XmlRootAttribute("dataroot")); 

ΦΑΡΜΑΚΑ[] array = (ΦΑΡΜΑΚΑ[])xml.Deserialize(File.Open(@"D:\Downloads\bio3.xml", FileMode.Open)); 

richTextBox1.Text = String.Join(Environment.NewLine, array.Select(x => x.ΦΑΡΜ_ΑΓΩΓΗ)); 
関連する問題