2009-09-22 8 views
1

Voici un exemple de fichier XML que je souhaite lire et créer quelques interfaces graphiques basées sur ces structures lors de l'exécution (l'idée de base est de lire les champs d'un fichier XML et de créer l'écran l'entrée de l'utilisateur).Lire un fichier XML créer une interface utilisateur

J'ai écrit un exemple de code qui crée l'écran lors de l'exécution, mais je ne suis pas sûr de savoir comment le faire lorsque je souhaite lire les champs du fichier XML.

Toute aide est vraiment appréciée. Ci-dessous l'exemple de code C# pour le faire (je veux le faire dans WPF).

private void Init() 
{ 
    StackPanel spParent = new StackPanel(); 
    StackPanel sp; 
    for (int i = 0; i < 5; i++) 
    { 
     sp = CreateLabelTextPair(i); 
     spParent.Children.Add(sp); 
    } 
    spParent.Orientation = Orientation.Vertical; 
    spParent.Margin = new Thickness(2); 

    this.Content = spParent; 
    this.Height = spParent.Height + 10; 
    this.Width = spParent.Width + 10; 
} 

StackPanel CreateLabelTextPair(int i) 
{ 
    StackPanel sp = new StackPanel(); 

    Label lbl = new Label(); 
    lbl.Height = 25; 
    lbl.Width = 100; 
    lbl.Content = "Label" + (i+1); 
    sp.Children.Add(lbl); 

    sp.Margin = new Thickness(2); 

    TextBox tb = new TextBox(); 
    tb.Height = 25; 
    tb.Width = 100; 
    tb.Text = "TextBox" + (i+1); 
    sp.Children.Add(tb); 

    sp.Height = lbl.Height; 
    sp.Width = lbl.Width+tb.Width+10; 

    sp.Orientation = Orientation.Horizontal; 
    return sp; 
} 

est en dessous du XML exemple (que je souhaite lire et créer l'apparence de l'interface graphique comme un écran de saisie de données).

<DataSet> 
     <Data> 
     <Field1>Name</Field1> 
     <Field2>DataType</Field2> 
     <Field3>Length</Field3> 
     <Field4>DefaultValue</Field4> 
     <Field5>IsNull</Field5> 
     <Field6>Precesion</Field6> 
     </Data> 
    </DataSet> 

Répondre

3

Les choses d'abord. Puisque vous voulez créer WPF, pourquoi n'utilisez-vous pas XSLT pour transformer votre xml en XAML.

Cependant si cela plus que vous avez besoin alors jetez un oeil à Linq2Xml.

Questions connexes