Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否可以从XMl中获得一个值最低的元素?_Xml_Vb.net_Linq - Fatal编程技术网

是否可以从XMl中获得一个值最低的元素?

是否可以从XMl中获得一个值最低的元素?,xml,vb.net,linq,Xml,Vb.net,Linq,我已成功创建了以下格式的xml文件: <?xml version="1.0" encoding="utf-8" standalone="yes"?> <VDZ> <Circuits> <Circuit> <Phases>1</Phases> <Size>4mm</Size> <Core>Cu</Core> &l

我已成功创建了以下格式的xml文件:

    <?xml version="1.0" encoding="utf-8" standalone="yes"?>
<VDZ>
  <Circuits>
    <Circuit>
      <Phases>1</Phases>
      <Size>4mm</Size>
      <Core>Cu</Core>
      <Ins>PVC</Ins>
      <Len>7</Len>
      <Table>T42</Table>
      <Temp>75</Temp>
      <Earth>NIL</Earth>
      <Points>
        <P ID="0" X="156" Y="132" />
        <P ID="1" X="156" Y="120" />
      </Points>
    </Circuit>
    <Circuit>
      <Phases>1</Phases>
      <Size>4mm</Size>
      <Core>Cu</Core>
      <Ins>PVC</Ins>
      <Len>7</Len>
      <Table>T42</Table>
      <Temp>75</Temp>
      <Earth>NIL</Earth>
      <Points>
        <P ID="0" X="254" Y="72" />
        <P ID="1" X="264" Y="72" />
      </Points>
    </Circuit>
  </Circuits>
</VDZ>

1.
4毫米
铜
聚氯乙烯
7.
T42
75
无

我只是想知道是否有可能根据最低的x值选择单个元件(考虑到我可能有数百个电路元件)


我知道如何收集所有的点作为一个列表,但不知道如何获得实际的元素作为一个整体。有人能提供一些建议吗?我没有代码,因为我无法找到一个远程接近的示例,所以我开始认为这是不可能实现的。任何人都可以为我指出正确的方向。

使用Xml linq with OrderBy。代码使用Min获取点数组中的最低X值:

Imports System.Xml
Imports System.Xml.Linq
Module Module1
    Const FILENAME = "c:\temp\test.xml"
    Sub Main()
        Dim doc As XDocument = XDocument.Load(FILENAME)

        Dim lowestX As XElement = doc.Descendants("Circuit") _
           .OrderBy(Function(x) x.Descendants("P").Min(Function(y) CType(y.Attribute("X"), Integer))) _
           .FirstOrDefault()

    End Sub
End Module

jdweng…差不多。不幸的是,XElement中的第二对可以具有最低的X,但我从未想过使用orderby…作为LINQ语句的一部分,我一直坚持使用最低值。感谢您为我指出了正确的方向。虽然不是答案,但这是我正在寻找的指导。干杯,伙计!然后使用以下命令:。orderby(函数(X)x.P.Min(函数(y)CType(y.Attribute(“x”),整数)))