LINQ to XML问题:使用特定选择返回节点

时间:2009-10-30 11:53:52

标签: xml linq .net-3.5 select

我有这个XML:

<?xml version="1.0" encoding="utf-8"?>

    

    <ConfiguraCanale ID_Comando="1">
        <canaleDigitalOUTPUT ID_Canale="1" >
            <stato>0</stato>
        </canaleDigitalOUTPUT>
    </ConfiguraCanale>


    <ConfiguraCanale ID_Comando="2">
        <canaleAnalogicoINPUT ID_Canale="2">                
            <timeAttesaPreCamp>00:03:00</timeAttesaPreCamp> 
        </canaleAnalogicoINPUT>
    </ConfiguraCanale>      

    </Comandi>

我必须选择节点canaleAnalogicoINPUT,这很简单,但我还必须从ConfiguraCanale到canaleAnalogicoINPUT取ID_Comando ..因为我选择节点canaleAnalogicoINPUT我无法得到节点ConfiguraCanale的属性。

我从很短的时间就将Linq用于XML ......

感谢!!!

2 个答案:

答案 0 :(得分:0)

可能是这样的:

var inputs = from e in doc.Descendants("canaleAnalogicoINPUT")
             select new
             {
                 CanaleAnalogicoINPUT = e, // extract what you need from this node
                 IDComando = int.Parse(e.Parent.Attribute("ID_Comando").Value)
             };

答案 1 :(得分:0)

var inputs = from e in doc.Elements("ConfiguraCanale")
             select new 
             {
                 IDComando = e.Attribute("ID_Comando").Value,
                 CanaleAnalogicoINPUT = e.Element("canaleAnalogicoINPUT")
             };