Avec ce code, je peux obtenir le titre du fichier XML suivant:
<?xml version="1.0" encoding="utf-8" ?> <smartForm idCode="customersMain"> <title>Customers Main222</title> <description>Generic customer form.</description> <area idCode="generalData" title="General Data"> <column> <group> <field idCode="anrede"> <label>Anrede</label> </field> <field idCode="firstName"> <label>First Name</label> </field> <field idCode="lastName"> <label>Last Name</label> </field> </group> </column> </area> <area idCode="address" title="Address"> <column> <group> <field idCode="street"> <label>Street</label> </field> <field idCode="location"> <label>Location</label> </field> <field idCode="zipCode"> <label>Zip Code</label> </field> </group> </column> </area> </smartForm>
3 Réponses :
Vous voulez utiliser la méthode code> descendants code>, puis appelez la méthode de l'extension Voici un exemple simple: P > sridgeRefault code> pour obtenir le premier élément.
using System;
using System.Linq;
using System.Xml.Linq;
class Program
{
static void Main()
{
String xml = @"<?xml version=""1.0"" encoding=""utf-8"" ?>
<smartForm idCode=""customersMain"">
<title>Customers Main222</title>
<description>Generic customer form.</description>
<area idCode=""generalData"" title=""General Data"">
<column>
<group>
<field idCode=""anrede"">
<label>Anrede</label>
</field>
<field idCode=""firstName"">
<label>First Name</label>
</field>
<field idCode=""lastName"">
<label>Last Name</label>
</field>
</group>
</column>
</area>
<area idCode=""address"" title=""Address"">
<column>
<group>
<field idCode=""street"">
<label>Street</label>
</field>
<field idCode=""location"">
<label>Location</label>
</field>
<field idCode=""zipCode"">
<label>Zip Code</label>
</field>
</group>
</column>
</area>
</smartForm>";
XElement element = XElement.Parse(xml)
.Descendants()
.FirstOrDefault();
}
}
Pour ajouter légèrement la réponse d'Andrew si vous ne savez pas si smartform code> est l'élément racine mais que vous voulez toujours le texte du titre de la première entrée de ce type que vous utiliseriez:
xml.DescendantsAndSelf("smartForm").Elements().First().Value;
Ma tâche était de trouver le premier enfant de nom spécifié.
Si XML utilise des espaces de noms, plutôt que écrire p>