Question : ensemble de données au xml

salut -- j'ai maintenant passé trop d'heure essayant de figurer dehors comment faire ce travail. j'emploie vs2010 et c#. j'ai eu une espérance qui si je peuple un ensemble de données à partir d'un dossier de xml -- et spécifique le schéma -- que l'ensemble de données de nouvelles rangées de ristourne dans le même lieu (IE la même équivalence en noeud = en table) du lequel il l'a pris. Par exemple, si je lisais un dossier de xml avec les données suivantes : le maître Test
testme>
R
1
1.0
1ber>
20RecordID>


this de NNP du
de la commande Tower

ControleName>
T
8
1.0
1ber>
10RecordID>

de NNP du
du
du
peut être employé pour peupler une table de dtMod de DataTable = de ds. Tableaux [« eachModule »]. la table est alors employée pour peupler un gridview. je peux alors manoeuvrer la table par l'intermédiaire du gridview pour ajouter des rangées. quand je vais sauver l'application, j'emploie ds.writeXML (myfile) de nouveau au dossier que je me suis à l'origine ouvert. ceci fonctionne -- et la prochaine fois que je l'ouvre la table et le gridview sont correctement peuplés. toutefois la nouvelle rangée appened au niveau supérieur du dossier de xml, plutôt qu'étant apposé à la tache appropriée dans le schéma (modules d'IE > chaque module). le

what que je veux savoir est si c'est la manière le système fonctionne et si je veux apposer une nouvelle rangée à une table, je dois savoir cela et écrire à un noeud dans le dossier explicitly.
thanks, le
Jim
de xml class= de

Réponse : ensemble de données au xml

Bonjour,

Je pense que je vois ce qui continue.  Vous ne placez pas le modules_Id « produisez de colonne ».

Voir ci-dessous :


add_PB_Click vide privé (expéditeur d'objet, EventArgs e)
        {

            essai
            {
                L'ensemble de données de //Assume est l'appel ds.
                Parent de DataRow = ds. Tableaux [« modules »]. Rangées [0] ; //Should en font qui vérifie ici pour voir si la rangée existe
                maxValue d'international = 0 ;
                Dr. de DataRow = dtMod.NewRow () ;
                   
               rangée de parent de //Set ! ! !
               Dr. [« modules_Id »] = parent [« modules_Id »] ;
               

                si (dtMod.Rows.Count ! = 0)
                {
                    foreach (rangée de DataRow dans dtMod.Rows)
                    {
                        si (Convert.ToInt16 (rangée [« moduleRecordID »]) > maxValue)
                            maxValue = Convert.ToInt16 (rangée [« moduleRecordID »]) ;
                    }
                }
           
                Dr. [« pathLetter »] = « R » ;
                Dr. [« nodeNumber »] = « 1 » ;
                Dr. [« subnet number »] = « 1 » ;
                Dr. [« moduleRecordID »] = maxValue + 5 ;

                dtMod.Rows.Add (Dr.) ;

                mainForm.isDirty = rectifient ;
            }
            crochet (SystemException errent)
            {
                MessageBox.Show (errer. Message) ;
            }

        }
Autres solutions  
  •  MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
  •  Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
  •  Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
  •  Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
  •  Emplacement primaire de deux SCCM dans l'annuaire actif
  •  L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
  •  Stocker le dossier dans le mysql using connector.net et le champ de goutte
  •  Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
  •  asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
  •  Winzip 12 issues de secours du travail ?
  •  
    programming4us programming4us