测试可选节点是否存在的正确方法是什么?我的 XML 片段是:
<Antenna >
<Mount Model="text" Manufacture="text">
<BirdBathMount/>
</Mount>
</Antenna>
但也可能是:
<Antenna >
<Mount Model="text" Manufacture="text">
<AzEl/>
</Mount>
</Antenna>
Antenna 的孩子可以是 BirdBath 或 AzEl,但不能同时是...
在 Delphi XE 中,我尝试过:
if (MountNode.ChildNodes.Nodes['AzEl'] <> unassigned then //Does not work
if (MountNode.ChildNodes['BirdBathMount'].NodeValue <> null) then // Does not work
if (MountNode.BirdBathMount.NodeValue <> null) then // Does not work
我使用 XMLSpy 创建模式和示例 XML,它们可以正确解析。我使用 Delphi XE 创建绑定,它适用于大多数其他组合。
这一定有一个我刚刚忽略的简单答案——但是什么?谢谢......吉姆