我想读取一个 xmlnode 并将其值仅在它们存在时存储在一个数组中。
这是要解析的xml:
<Signals>
<Signal_1>
<SigNum>1</SigNum>
<SigTypeUni>HIL RPM SYNC OUTPUT </SigTypeUni>
<SigType>RPM_OUT_0_SENSOR SUPPLY</SigType>
<HilCnctr>ECU1</HilCnctr>
<HilCnctrPin>F13</HilCnctrPin>
<EtasBoard>ESx335_1</EtasBoard>
<EtasChannel>REF_SG_0</EtasChannel>
<EtasBobPin>209</EtasBobPin>
<AddHilIntCnctr />
<AddPin />
<LoadNum />
<LoadRef />
<LoadRes>400</LoadRes>
<LoadCard />
</Signal_1>
<Signal_2>
<SigNum>2</SigNum>
<SigTypeUni>HIL RPM SYNC OUTPUT </SigTypeUni>
<SigType>RPM_OUT_0_HALL</SigType>
<HilCnctr>ECU1</HilCnctr>
<HilCnctrPin>F11</HilCnctrPin>
<EtasBoard>ESx335_1</EtasBoard>
<EtasChannel>OUT_SG_0</EtasChannel>
<EtasBobPin>207</EtasBobPin>
<AddHilIntCnctr />
<AddPin />
<LoadNum />
<LoadRef />
<LoadRes />
<LoadCard />
</Signal_2>
</Signals>
我只想在存在时提取 LoadRes 的值。正如您在第二个实例中看到的那样,节点存在但没有任何值。我需要忽略这种情况。我该如何进行?
XmlNodeList LoadResNodelist = doc.GetElementsByTagName("LoadRes");
foreach (XmlNode node in LoadResNodelist)
{
if (node != null)
{
Console.WriteLine(node.InnerXml);
LoadNum[counterLoadNum] = node.InnerXml;
counterLoadNum = counterLoadNum + 1;
Console.WriteLine("counterLoadNum = {0}", counterLoadNum);
}
}
这不起作用,因为当节点没有值时会打印空白。我如何只关注具有价值的节点?