J'ai un fichier xml. Ceci est juste morceau de ce fichierComment vérifier si le nœud de texte du fichier xml contient un nœud enfant et y récupère toutes les données?
1 <mainTerm>
2 <title> Abandonment </title>
3 <see> Maltreatment </see>
4 </mainTerm>
5 <mainTerm>
6 <title> Abasia <nemod>(-astasia) (hysterical) </nemod></title>
7 <code>F44.4</code>
8 </mainTerm>
J'ai beaucoup de boucle <mainTerm>
et je par chacun d'eux. Je copie toutes les données des éléments, mais quand j'atteins la ligne 6, j'ai eu le problème. Comment copier tout ce contenu? J'ai besoin d'obtenir la chaîne de fin, qui ressemblera à "Abasia (-astasia) (hystérique)".
C'est la pièce de mon application qui fonctionne avec ce fichier
List<string> nodes = new List<string>();
//Create XmlReaderSettings object
XmlReaderSettings settings = new XmlReaderSettings();
settings.IgnoreWhitespace = true;
settings.IgnoreComments = true;
//Create XmlReader object
XmlReader xmlIn = XmlReader.Create(path, settings);
Excel.Application xlApp;
Excel.Workbook xlWorkBook;
Excel.Worksheet xlWorkSheet;
object misValue = System.Reflection.Missing.Value;
xlApp = new Excel.Application();
xlWorkBook = xlApp.Workbooks.Add(misValue);
if (xmlIn.ReadToDescendant("mainTerm"))
{
do
{
xmlIn.ReadStartElement("mainTerm");
nodes.Add(xmlIn.ReadElementContentAsString());
nodes.Add(xmlIn.ReadElementContentAsString());
} while (xmlIn.ReadToNextSibling("mainTerm"));
}
Faites attention à l'utilisation de "nœud de texte". Un nœud de texte est un type spécifique de nœud XML qui ne peut contenir que des données de caractères. Je pense que vous voulez dire que mainTerm a un "contenu mixte", c'est-à-dire des données et des éléments de caractères. –
mettre à jour la question avec votre code – Damith
Oui, je veux dire "contenu mixte", mais comment puis-je obtenir toutes les données de contenu mixte pour obtenir le résultat "Abasia (-astasia) (hystérique)". " – Bryuk