【发布时间】:2011-05-19 11:04:07
【问题描述】:
我无法访问子节点值。下面是 XML 结构和创建新联系人的代码。
<Order xmlns="http://example.com">
<MiscContact>
<MiscContact>
<ContactType>MailingContact</ContactType>
<Contact>
<Name>
<First>JIM</First>
<Last>RON</Last>
<FullName>RON JIM</FullName>
</Name>
<IsValid>false</IsValid>
</Contact>
</MiscContact>
</MiscContact>
<ExportForm>
<Contact>
<Name>
<First>JIM</First>
<Last>RON</Last>
<FullName>RON JIM</FullName>
</Name>
<IsValid>false</IsValid>
</Contact>
</ExportForm>
</Order>
仅为<MiscContact> 创建新联系人的代码:
XNamespace Namespace = "http://online.us.com";
var MiscContact = from mc in xmlDoc.Descendants(Namespace + "Contact")
where mc.Parent.Name.Equals("MiscContact")
select new Contact
{ Name = ob.Element(Namespace + "Name").Value }
我遇到的问题是,即使我有 where 子句仅选择其父为 MiscContact 的联系人,但来自 <MiscContact> 和 <ExportForm> 的联系人部分正在加载。
知道如何解决这个问题吗?
【问题讨论】:
标签: c# .net xml linq linq-to-xml