【发布时间】:2013-08-14 18:47:27
【问题描述】:
这是我收到的 xml:
<?xml version="1.0" encoding="UTF-8"?>
<mdpr:Data xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mdpr="http://...">
<mdpr:contactList>
<mdpr:contact ID="{123456}" classID="Customer">
<mdpr:Name>data1</mdpr:Name>
<mdpr:TransportCode>data2</mdpr:TransportCode>
<mdpr:ZipCode>data3</mdpr:ZipCode>
<mdpr:City>data4</mdpr:City>
</mdpr:contact>
<mdpr:contact ID="{234567}" classID="Customer">
<mdpr:Name>data5</mdpr:Name>
<mdpr:TransportCode>data6</mdpr:TransportCode>
<mdpr:ZipCode>data7</mdpr:ZipCode>
<mdpr:City>data8</mdpr:City>
</mdpr:contact>
</mdpr:contactList>
...
这是我尝试获取所有联系人的方法:
public class Contact
{
public string Name { get; set; }
public string TransportCode { get; set; }
}
...
XDocument xdoc = XDocument.Load(doc.CreateNavigator().ReadSubtree());
List<Contact> contacts = (from xml in xdoc.Elements("contactList").Elements("contact")
select new Contact
{
Name = xml.Element("Name").Value,
TransportCode = xml.Element("TransportCode").Value
}).ToList();
但我什么也得不到。我在这里做错了什么?
【问题讨论】:
-
您的文档真的使用
http://...作为 mdpr 命名空间吗? (问题在于您的命名空间处理。)
标签: c# linq xml-parsing linq-to-xml xmldocument