【发布时间】:2018-04-30 16:05:38
【问题描述】:
如何检查特定节点属性值中的缺失/跳过值 前任。
<?xml version="1.0"?>
<root>
<lvl id="abc1">1036</lvl>
<lvl id="abc2">0036</lvl>
<lvl id="abc3">3.<dc>04</dc></lvl>
<lvl id="abc5">87.<dc>03</dc></lvl>
<lvl id="abc6">996</lvl>
<lvl id="abc10">203</lvl>
</root>
在上述 xml 中,id 属性值 abc4、abc7、abc8 和 abc9 丢失..如何检查这些并使用 linq to xml 获取这些值,以便我可以编写日志文件或说这些值丢失,检查文件?
我正在考虑使用类似的辅助方法
public static Boolean CompareNext(this XElement xe)
{
return Convert.ToInt16(xe.Attribute("id").Value.Replace("abc", ""))+1== Convert.ToInt16(xe.ElementsAfterSelf().FirstOrDefault().Attribute("rid").Value.Replace("ref", ""));
}
但努力正确实施它..
【问题讨论】:
-
这些条目及其属性的顺序是否始终正确?
-
@Fruchtzwerg 不一定......它可能是也可能不是
-
这不是简单地了解预期值列表,将这些值与观察值进行比较,然后打印差异吗? o_0
标签: c# xml linq-to-xml