【发布时间】:2010-04-22 14:12:10
【问题描述】:
我有这个 LINQ to XML 查询...
var Records = from Item in XDoc.Root.Elements("Item")
where (string)Item.Element("ItemNumber") == item.ID.ToString
select Item;
... 其中 ItemNumber 是 XML 中使用的参考编号(最初由该程序编写,但由“其他人”手动编辑),item.ID 是同一事物的数据库版本。查询执行,我可以很好地测试结果中的条目数...
if (Records.Count() < 1)
...你明白了。我已经确定只有一条记录,(编辑没有删除或复制/倍增该项目)。
每个项目都有几个子字段。我想在将子字段的值传递给数据库更新子系统之前测试它们的值是否合理。 XML 由程序生成,但由用户编辑,所以我需要真正检查返回的内容。所以我尝试了...
if (DB_English.ToString() != Records.Elements("English").ToString())
...DB_English 来自数据库,但是 Records 中的 XML,不包含该字段的内容,它包含...
System.Xml.Linq.Extensions+<GetElements>d__29`1[System.Xml.Linq.XElement]
... 那么,如何在 XML 文件中获取此元素的值?我需要检查 XML 中的字段是否被更改,(此数据文件的手动编辑器可能不是 100% 可靠的)。
【问题讨论】: