Следующий код: Building Phone
, но не печать uxPhone
.
1) Должен ли я получить коллекцию Property
потомков, может быть?
2) Это кажется довольно многословным, есть ли более короткая форма этого?Linq to Xml печатает только первое значение потомка
var xmlstr =
@"<Form>
<ControlsLayout>
<Object type='sometype' children='Controls'>
<Property name='ControlLabel'>BuildingPhone</Property>
<Property name='Name'>uxPhone</Property>
</Object>
</ControlsLayout>
</Form>";
XElement xelement = XElement.Parse(xmlstr);
var controls = xelement.Descendants("Object");
foreach (var control in controls)
{
var xElement = control.Element("Property");
if (xElement != null)
{
var xAttribute = xElement.Attribute("name");
if (xAttribute != null && xAttribute.Value == "ControlLabel")
{ Console.WriteLine(xElement.Value); }
if (xAttribute != null && xAttribute.Value == "Name")
{ Console.WriteLine(xElement.Value); }
}
}
Спасибо Мостафиз и Гилад. Я отмечу, что один из вас ответил, а другой - надпись. Gilad, ваш код не работал для меня из-за функции языка 6.0? Любой шанс, что вы можете переработать его на 4.5 (это максимум, мы можем пойти в prod). Это будет бонус, если вы объясните функцию 6.0. – bkolluru