Если у нас есть XML вроде:
<Data>
<Cars>
<Details>
<Dataset se-datafilter="cars" dv-datamanipulationrequired="false" dv-filtercondition="" dv-sortcolumn="" dv-gettopNrows="" />
<XmlData></XmlData>
</Details>
</Cars>
<Jeeps>
<Details>
<Dataset se-datafilter="jeeps" dv-datamanipulationrequired="false" dv-filtercondition="" dv-sortcolumn="" dv-gettopNrows="" />
<XmlData></XmlData>
</Details>
</Jeeps>
</Data>
Каков наилучший способ получить значения всех атрибутов, хранящихся в элементе <Dataset>
для sMainTagName.sMainTagName может иметь значение «Cars» или «Jeep».Передано из пользовательского интерфейса.
У меня есть следующий код:
var cols = doc.XPathSelectElements("/Data/" + sMainTagName + "/Details");
string sDataFilter = String.Empty;
string sFilterCondition = String.Empty;
string sSortCol = String.Empty;
foreach (var att in cols.Elements("Dataset").Attributes())
{
switch(att.Name.ToString())
{
case "se-datafilter":
sDataFilter = att.Value;
break;
case "dv-filtercondition":
sFilterCondition = att.Value;
break;
case "dv-sortcolumn":
sSortCol = att.Value;
break;
}
}