У меня есть файл XML с узлами faultIsolationProcedure, которые имеют и не имеют атрибутов applicationRefId. Мне нужно проверить, существует ли атрибут в узле faultIsolationProcedure. Если он не существует, ему нужно получить атрибут faultCode дочерних элементов неисправности и создать для него значение applyRefID faultIsolationProcedure.
Это мой код, но он не работает. Я хотел, чтобы hasAttr был логическим, но я получил от него ошибку типа.
code
For Each node As XmlNode In doc.SelectNodes("/dmodule/content/faultIsolation/faultIsolationProcedure")
Dim hasAttr = node.Attributes["applicRefId"] != null
If hasAttr! = null Then
Me.ListBox1.Items.Add(String.Format("{0}",
node.Attributes("applicRefId").InnerText))
End If
Next
Sample XML
<content>
<faultIsolation>
<faultIsolationProcedure applicRefId="Blk1">
<fault faultCode="48-038"/>
<faultDescr>
<descr>xxx xx</descr>
</faultDescr>
<isolationProcedure>
<isolationMainProcedure>
<isolationStep id="i-001">
<action>xxx xxxxx xx</action>
<isolationStepQuestion>xxx xx</isolationStepQuestion>
<isolationStepAnswer>
<yesNoAnswer>
<yesAnswer nextActionRefId="e-001"/>
<noAnswer nextActionRefId="s-001"/>
</yesNoAnswer>
</isolationStepAnswer>
</isolationStep>
<isolationProcedureEnd id="e-001">
<action>xxx xxxxx xx</action>
<action>xxx xx</action>
</isolationProcedureEnd>
</isolationMainProcedure>
</isolationProcedure>
</faultIsolationProcedure>
<faultIsolationProcedure>
<fault faultCode="48-039"/>
<faultDescr>
<descr>xxx xx</descr>
</faultDescr>
<isolationProcedure>
<isolationMainProcedure>
<isolationStep id="i-001">
<action>xxx xxxxx xx</action>
<isolationStepQuestion>xxx xx</isolationStepQuestion>
<isolationStepAnswer>
<yesNoAnswer>
<yesAnswer nextActionRefId="e-001"/>
<noAnswer nextActionRefId="s-001"/>
</yesNoAnswer>
</isolationStepAnswer>
</isolationStep>
<isolationProcedureEnd id="e-001">
<action>xxx xxxx xx</action>
<action>xxx xx<dmRef>
</dmRef>xxx xx</action>
</isolationProcedureEnd>
</isolationMainProcedure>
</isolationProcedure>
</faultIsolationProcedure>
</faultIsolation>
</content>