다음 코드는 Building Phone
을 인쇄하지만 uxPhone
은 인쇄하지 않습니다.
1) 아마도 Property
자손 컬렉션을 가져야할까요?
2)이 작업은 매우 간결하게 보입니다. 더 짧은 양식이 있습니까? 대신 하나 하나를 선택 control.Element("Property")
의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); }
}
}
Mostafiz와 Gilad에게 감사드립니다. 나는 너희 중 한 명과 다른 한 명을 업보트로 표시 할 것이다. Gilad 6.0 언어 기능 때문에 코드가 작동하지 않습니까? 당신이 6.0의 특징을 설명하면 보너스가 될 것입니다. – bkolluru