Angenommen, ich bekomme einen XmlNode und möchte den Wert von attirbute "Name" zuweisen. Wie kann ich das tun ??Wie kann ich den Attributwert von XmlNode in C# lesen?
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>
Seien Sie vorsichtig mit diesem Ansatz. Ich denke, wenn das Attribut nicht vorhanden ist, verursacht das Zugreifen auf das Wertelement eine Nullreferenzausnahme. –
if (node.Attributes! = Null) string mitarbeiterName = chldNode.Attributes ["Name"]. Value; – Omidoo
@Omidoo Dieser Ansatz hat das gleiche Problem, zum Beispiel mit '', das den Test besteht. Vielleicht etwas wie 'var attr = node.Attributes [" Name "]; if (attr! = null) {...} könnte funktionieren. – Nenotlep