Имя тега с дефисом в C#
Имя с дефисом - обычная строка имени узла в XML.
В разметке такие имена допустимы, дефис входит в само имя:
<root>
<field-name>alpha</field-name>
<field-code>01</field-code>
</root>
Поиск выполняют тем же Element, передавая полное имя с дефисом:
using System.Xml.Linq;
string xml = "<root><field-name>alpha</field-name><field-code>01</field-code></root>";
XElement root = XDocument.Parse(xml).Root!;
Console.WriteLine(root.Element("field-name")!.Value);
Console.WriteLine(root.Element("field-code")!.Value);
Дан следующий XML:
<root>
<user-name>john</user-name>
<user-surn>smit</user-surn>
</root>
Выведите имя и фамилию юзера.