LINQ to XML。枚举没有结果?

时间:2010-10-30 19:51:33

标签: .net xml vb.net linq linq-to-xml

我无法弄清楚为什么Enumeration does not yield any results

Dim Configuration = From Setup In XElement.Load("C:\xml\setup.xml").Elements("settings")
                    Select Setup
For Each Setting As String In Configuration
    'Do something
Next

这是位于C:/xml/setup.xml

的Xml文件
<?xml version="1.0" encoding="utf-8"?>
<settings>
  <columns>10</columns>
  <rows>3</rows>
  <thumbWidth>1024</thumbWidth>
  <thumbHeight>768</thumbHeight>
  <thumbPadding>40</thumbPadding>
  <videoWidth>181</videoWidth>
  <videoHeight>136</videoHeight>
  <CaptionPosition>top</CaptionPosition>
  <Autoplay>no</Autoplay>
  <Delay>6</Delay>
  <Target>_blank</Target>
</settings>

我在这里做错了什么?

1 个答案:

答案 0 :(得分:4)

您已调用XElement.Load,它将返回settings元素本身。换句话说,您目前正在<{1}}元素中查找名为settings 的元素。

选项:

  • 使用settings代替
  • 只需使用加载的XDocument.Load本身,而不是调用XElement - Elements元素是根元素,无论如何只能有其中一个。
  • 使您的XML文档具有根元素,例如

    settings