如何在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>
答案 0 :(得分:0)
在代码中使用FirstOrDefault时,可以使用SelectSingleNode方法返回与表达式匹配的第一个节点。它更具可读性。
var node = doc.SelectSingleNode("//L");
if (node == null)
{
//does not exist
}
else
{
//exist
}