Supposons que j'obtiens un XmlNode et que je veuille attribuer la valeur d'attrbute "Name". Comment puis-je faire ça?Comment lire la valeur d'attribut de XmlNode en C#?
XmlTextReader reader = new XmlTextReader(path);
XmlDocument doc = new XmlDocument();
XmlNode node = doc.ReadNode(reader);
foreach (XmlNode chldNode in node.ChildNodes)
{
**//Read the attribute Name**
if (chldNode.Name == Employee)
{
if (chldNode.HasChildNodes)
{
foreach (XmlNode item in node.ChildNodes)
{
}
}
}
}
XMl Doc:
<Root>
<Employee Name ="TestName">
<Childs/>
</Root>
Soyez prudent avec cette approche. Je pense que si l'attribut n'est pas présent, l'accès au membre Value provoquera une exception de référence nulle. –
if (node.Attributes! = Null) chaîne employeeName = chldNode.Attributes ["Nom"]. Valeur; – Omidoo
@Omidoo Cette approche a le même problème, par exemple avec '', qui passe le test. Peut-être quelque chose comme 'var attr = node.Attributes [" Name "]; if (attr! = null) {...} 'pourrait fonctionner. – Nenotlep