首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

linq 出错 怎么解决

2012-02-15 
linq 出错 如何解决.以下代码 没有查询出想要的结果 如何修改想要查询的内容是 Layout directionVertic

linq 出错 如何解决.
以下代码 没有查询出想要的结果 如何修改

想要查询的内容是 <Layout direction="Vertical"> 这个小结


代码部分

  XName Form = "Form", Id = "id", Control = "Control", Layout = "Layout", direction = "direction", Location = "Location", x = "x", y = "y", Size="Size",width = "width", height = "height";
  string FormID = "FormLogin", ControlID = "panelMain", Direction = "Vertical";

  //IEnumerable<string> partNos = Elements
  var LocationList = from Forms in Root.Elements(Form)
  where 
  ( (string)Forms.Attribute(Id) == FormID &&
  (string)Forms.Element(Control).Attribute(Id) == ControlID &&
   
  (string)Forms.Element(Control).Element(Layout).Attribute(direction) == Direction 
  )
  select new{
  X =(int)Forms.Element(Control).Element(Layout).Element(Location).Element(x),
  Y =(int)Forms.Element(Control).Element(Layout).Element(Location).Element(y),
  Width = (int)Forms.Element(Control).Element(Layout).Element(Size).Element(width),
  Height = (int)Forms.Element(Control).Element(Layout).Element(Size).Element(height),

  };
xml文件
<?xml version="1.0" encoding="utf-8" ?>
<Root>
  
  <!--登录窗口-->
  <Form id="FormLogin" type="Form">
   
  <!--panel控件-->
  <Control id ="panelMain" type="Panel">

  <Layout direction="Traverse">
   
  <Location>
  <x>3</x>
  <y>3</y>
  </Location>
  <Size>
  <width>234</width>
  <height>262</height>
  </Size>
   
  </Layout>



  <Layout direction="Vertical">

  <Location>
  <x>4</x>
  <y>34</y>
  </Location>
  <Size>
  <width>234</width>
  <height>262</height>
  </Size>
  </Layout>

   
  </Control>

  </Form>
  
</Root>

[解决办法]
这么乱
[解决办法]

C# code
 XElement xe = XDocument.Load(Server.MapPath("XMLFile.xml")).Element(XName.Get("Root"));       IEnumerable<XElement> results= xe.Descendants(XName.Get("Layout"));       foreach (XElement result in results)       {           if (result.Attribute("direction").Value == "Vertical")           Response.Write(result.Value);       } 

热点排行