InfoPath中的可选字段;使用VB获取XML节点

时间:2010-04-12 08:49:44

标签: xml vb.net xpath vsto infopath

我使用VB通过表单获取数据。我的表单中有一些可选字段,我遇到以下代码问题:

MsgBox(myXPathNavigator.SelectSingleNode( _
  "/my:Status/my:Questions/my:Questions1", Me.NamespaceManager _
).IsNode.ToString)

当表单中插入了可选字段'Questions1'时,我会通过'true'函数获取值IsNode()

如果没有插入字段,我有一个例外,说明引用不正确(确实如此)。有没有办法验证某个节点,无论它是否存在于我的表单中?

提前谢谢,Sun

1 个答案:

答案 0 :(得分:2)

只是不要一步到位。如果找不到XPath,SelectSingleNode()将返回Nothing。你必须分开捕捉这个条件。

Dim q As XPathNavigator
Dim path as String

path = "/my:Status/my:Questions/my:Questions1"
q = myXPathNavigator.SelectSingleNode(path, Me.NamespaceManager)

If Not q Is Nothing Then
  MsgBox(q.ToString)
End If