XML XElement fonction add
Bonjour,
Je débute avec C# et XML.
Je parts d'une base de données et j'ai récupéré les données d'une table que je dois transformer en XML.
La datatable s'appelle 'agentService'.
Je dois obtenir ceci (j'ai switché les données):
J'ai mis de l'indentation mais elle disparait.
<NaturalPerson>
<INSS></INSS>
<WorkerName></WorkerName>
<WorkerFirstName></WorkerFirstName>
etc
</NaturalPerson>
<NaturalPerson>
<INSS></INSS>
<WorkerName></WorkerName>
<WorkerFirstName></WorkerFirstName>
etc
</NaturalPerson>
<NaturalPerson>
<INSS></INSS>
<WorkerName></WorkerName>
<WorkerFirstName></WorkerFirstName>
etc
</NaturalPerson>
Voici mon code.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| public NaturalPerson()
{
this.getAgentService();
for (int i = 0; i < this.agentService.Rows.Count; i++)
{
XElement naturalPerson1 = new XElement("NaturalPerson",
new XElement("INSS", this.agentService.Rows[i]["U2LID_N_REG_NATIONAL_C"].ToString()),
new XElement("WorkerName", this.agentService.Rows[i]["U2PPH_NOM_PERS_PHYSIQUE"].ToString()),
new XElement("WorkerFirstName", this.agentService.Rows[i]["U2PPH_PRENOM_PERS_PHYSIQUE"].ToString()),
new XElement(new HistoricalAttestationInformation().getHistoricalAttestationInformation())
);
//Test pour vérifier si naturalPerson n'est pas encore instantié
if (this.naturalPerson == null)
{
this.naturalPerson = new XElement(naturalPerson1);
}
else
this.naturalPerson.Add(naturalPerson1);
}
} |
J'utilise la fonction ADD de XElement.
Et voici ce que j'obtient, j'ai cherché mais en vain à résoudre ce problème. :oops:
Le premier naturalPerson contient les autres et je ne vois pas de moyen de contourner ça.
<NaturalPerson>
<INSS></INSS>
<WorkerName></WorkerName>
<WorkerFirstName></WorkerFirstName>
etc <NaturalPerson>
<INSS></INSS>
<WorkerName></WorkerName>
<WorkerFirstName></WorkerFirstName>
etc
</NaturalPerson>
<NaturalPerson>
<INSS></INSS>
<WorkerName></WorkerName>
<WorkerFirstName></WorkerFirstName>
etc
</NaturalPerson>
<NaturalPerson>
<INSS></INSS>
<WorkerName></WorkerName>
<WorkerFirstName></WorkerFirstName>
etc
</NaturalPerson>
</NaturalPerson>