我有这个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 ......
感谢!!!
答案 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")
};