【发布时间】:2013-05-22 12:55:49
【问题描述】:
我正在尝试测试 Linq 以检索 xml 文件中元素的某些值:
代码如下:
try
{
XElement doc = XElement.Load(@"Z:\test.xml");
string abc, def;
foreach (XElement elm in doc.Descendants().Elements("test"))
{
abc = elm.Element("att").Value;
def = elm.Element("title").Value;
Console.WriteLine(abc);
Console.WriteLine(def);
}
}
catch (XmlException xe)
{
Console.WriteLine(xe);
}
但这似乎并没有通过 foreach 循环。它没有给我任何错误。我已经对其进行了调试,它可以很好地读取 xml 文件。但是当它到达 foreach 循环时,它就退出了。什么原因。
我的 XML 文件的一部分:
<root xmlns:xsi="w3.org/2001/XMLSchema-instance"; xsi:noNamespaceSchemaLocation="test.xsd">
<test att="123" title="XXXX" />
<test att="2324" title="YYYY" />
</root>
【问题讨论】:
-
它不是一个有效的 xml,它应该抛出一个异常。 xml 需要有一个根节点
-
那不是一个有效的 xml 文件
-
这个xml文件是有效的,只是我写了一部分给你看看它是什么样子的。当我调试时它被正确拾取。
-
@user726720 你能给出确切的xml吗?
-
@user726720 与您的编辑,问题可能是微不足道的......我不会期望找到那些;它们不是根的后代的子元素...