2009-11-04 6 views
1

J'ai une base de données XML avec le format suivant:C# Ecrire à XML spécifique Noeud

<Students> 
<Student ID= *GUID NUMBER*> 
    <FullName>John Smith</FullName> 
    <Address>Blah blah blah</Address> 
    and so on... 
<Student ID= *GUID NUMBER*> 
    <FullName>Joe Blow</FullName> 
    <Address>Blah Blah</Address> 
    and so on... 

J'ai un combobox qui sélectionnera à partir de ces données xml pour afficher la FullName dans son menu déroulant. Maintenant, ce que je dois faire est d'avoir d'autres champs pour mettre à jour et ajouter des nœuds à l'étudiant choisi en fonction de ce que FullName est choisi dans la liste déroulante, une fois un autre bouton - "Soumettre" est pressé.

+0

Pouvez-vous inclure le code-behind sur la façon dont vous Databind il? Cela aidera :) –

+0

Quelle cadre/version C#? – Kev

Répondre

4

Pour sélectionner votre nœud Student spécifique, vous pouvez faire:

XmlDocument xml = new XmlDocument(); 
xml.LoadXml("<Students>...."); // or xml.Load("yourfile.xml"); 
XmlElement student = xml.SelectSingleNode(
    String.Format("//Student[@ID='{0}']", 
        yourcombo.SelectedItem.Value)) as XmlElement; 
if(student != null) 
{ 
    XmlElement another = xml.CreateElement("another"); 
    another.InnerText = "Value"; 
    student.AppendChild(another); 

    // do other stuff 
}