Vb.net 将嵌套元素Linq获取为XML
我的XML 上面的代码从XML返回数据,但添加了这行代码Vb.net 将嵌套元素Linq获取为XML,vb.net,linq,linq-to-xml,Vb.net,Linq,Linq To Xml,我的XML 上面的代码从XML返回数据,但添加了这行代码 Dim c = From cust As XElement In XDoc.Descendants(ns + "customer") Select New Customer() With {.Name = cust.Element(ns + "name"), .Surname = CStr(cust.Element(ns + "su
Dim c = From cust As XElement In XDoc.Descendants(ns + "customer")
Select New Customer() With {.Name = cust.Element(ns + "name"),
.Surname = CStr(cust.Element(ns + "surname")),
.Id = cust.Attribute("id"),
.Tag = CStr(cust.Element("tag-list").Element("begin"))}
引发异常,“对象引用未设置为对象的实例”。现在这里有两种可能性
在阅读MSDN之后,似乎使用.substands(Xdoc.substands)可以从所有元素中获取所有数据,元素将返回我所述的路径上的数据,因此我可以告诉您,上述代码中的数据“应该”可用。有人能帮我从标记列表中获取begin数据吗?缺少XML名称空间声明。使用
.Tag = CStr(cust.Element("tag-list").Element("begin"))
您确定标记元素有效吗?我看不到最后的标签,抱歉,我注意到我没有正确地添加/格式化XML,我现在已经改变了,你可能想考虑使用XPath:
.Tag = CStr(cust.Element("tag-list").Element("begin"))
.Tag = CStr(cust.Element(ns + "tag-list").Element(ns + "begin"))