¿Cuál es la forma correcta de probar la existencia de un nodo opcional? Un cortó de mi XML es:¿Cómo compruebo si existe un determinado nodo XML?
<Antenna >
<Mount Model="text" Manufacture="text">
<BirdBathMount/>
</Mount>
</Antenna>
Pero también podría ser:
<Antenna >
<Mount Model="text" Manufacture="text">
<AzEl/>
</Mount>
</Antenna>
El niño de la antena podría ser o bien Bañera de Pájaros o AZEL pero no tanto ...
En Delphi XE Lo he intentado:
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
Uso XMLSpy para crear el esquema y el ejemplo XML y se analizan correctamente. Uso Delphi XE para crear los enlaces y funciona bien en la mayoría de las otras combinaciones.
tiene tiene una respuesta simple que acabo de pasar por alto, pero ¿qué? Gracias ...... Jim
¿Has probado "VarIsNull()" de la unidad "Variantes"? – paulsm4