用这个:
xDocTest.Root.Element("Cust").Element("Adress").Element("City").Value
如果你使用 Elements(注意复数),它会给你一个 IEnumerable,这将像这样使用:
XML
<Father>
<Child>Hello</Child>
<Child>World!</Child>
</Father>
C#
foreach(var childElement in Root.Elements("Child")) Console.WriteLine(childElement.Value);
或者以你为例:
foreach(var child in xdoc.Root.Element("Cust").Element("Address").Elements())
Console.WriteLine(string.Format("{0} : {1}", child.Name, child.Value);
如果您有多个同名元素,我不确定元素的行为方式。因此,您可能希望对所有事件使用 Elements 和 Inerate。
而在 Linq 中,如果有多个客户......
var result = from cust in xdoc.Root.Elements("Cust")
where cust.Elements("ACTNumber").Any() // This is to make sure there
// is an element called ACTNumber
// otherwise .Value would create
// Nullrefexception.
select child.Element("ACTNumber").Value;