0
另一个属性值我有一个的XmlNodeList作为选择属性的基础上的XML
<Fields>
<Field FieldId="1" Value="123" FieldTitle="id" FieldType="Text"/>
<Field FieldId="2" Value="abc" FieldTitle="First Name" FieldType="Text"/>
<Field FieldId="3" Value="efg" FieldTitle="Last Name" FieldType="Text"/>
</Fields>
现在我想有什么价值
var id = 123 //select the `value` if `FieldId == "1";
var firstName = abc //select the `value` if `FieldId == "2";
var last name = efg //select the `value` if `FieldId == "3";
编辑:我不想循环扔领域,并检查每个领域,如果条件。
单线解决方案是最受欢迎的。
注:我处理的非常大的XML和Fields
是单个节点的一部分,大约有500节点的千田,任何其他更好的解决这个更大的XML文件转换为插入查询是最欢迎
我已经XmlNode的compleat XML是非常大的,就像是'线索\导致[] \场\ fields []'。解析XML后,我在循环中,并具有XML列表作为领导(列表的领导)现在从每一个领导我需要所有的领域。你的解决方案是好的,但你可以修改它与nodelist一起工作,我喜欢这个方法'elem.Where(c => c.Attribute(“FieldId”)。Value.Equals(“1”))。Select(s => s .Attribute(“Value”)。Value).FirstOrDefault();'但它不适用于一个'xmlNode'对象 – Champ
你可以修改你的问题,只需少量xml的线索\ lead [] \ fields \ fields []并尝试解释它有点帮助我详细了解你的要求。 –