检查节点是否存在,否则检查广告

时间:2017-02-21 08:24:53

标签: c# asp.net xml

如何在xmlfile中检查节点L的存在性,如果没有这样在buttonclick上添加它?是否更容易一次性循环文件,并将其添加到哪里?

if (Page.IsValid)
{
    var doc = XDocument.Load(Server.MapPath(map));
    var component =
         doc.Descendants("Component")
        .FirstOrDefault(comp => comp.Element("Varenummer").Value.Equals(myNumber));

    component.Element("L").Value = drpLeverandørRet.SelectedItem.Value;
    component.Element("Type").Value = drpDownWTtypeRet.SelectedItem.Value;
    component.Element("Art").Value = txtRetArt.Text;
    component.Element("Bemærkning").Value = txtRetBemærkninger.Text;

    doc.Save(Server.MapPath(map));
}



 <Reservedele>
 <Component>
 <Type>Elektronik</Type>
 <Art>dyjdtjy</Art>
 <Bemærkning>tyjty</Bemærkning>
 <Varenummer>205507k</Varenummer>
 <OprettetAf>John</OprettetAf>
 <Date>27. januar 2017</Date>
 </Component>
 <Component>
 <Type>Softcare</Type>
 <Art>Dims 11</Art>
  <L>A</L>
 <Bemærkning>lasfladfa11</Bemærkning>
 <Varenummer>1</Varenummer>
 <OprettetAf>John</OprettetAf>
 <Date>21. februar 2017</Date>
 </Component>
 </Reservedele>

1 个答案:

答案 0 :(得分:0)

在代码中使用FirstOrDefault时,可以使用SelectSingleNode方法返回与表达式匹配的第一个节点。它更具可读性。

var node = doc.SelectSingleNode("//L");
if (node == null)
{
    //does not exist                
}
else
{
    //exist
}