Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
InfoPath中的可选字段;用VB获取XML节点_Xml_Vb.net_Xpath_Vsto_Infopath - Fatal编程技术网

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

InfoPath中的可选字段;用VB获取XML节点,xml,vb.net,xpath,vsto,infopath,Xml,Vb.net,Xpath,Vsto,Infopath,我使用VB通过表单获取数据。我的表单中有一些可选字段,以下代码有问题: MsgBox(myXPathNavigator.SelectSingleNode( _ "/my:Status/my:Questions/my:Questions1", Me.NamespaceManager _ ).IsNode.ToString) 当可选字段'Questions1'插入表单时,我通过IsNode()函数获得值'true' 如果未插入字段,我有一个例外,说明引用不正确(事实上是正确的)。是否有方法验证

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

MsgBox(myXPathNavigator.SelectSingleNode( _
  "/my:Status/my:Questions/my:Questions1", Me.NamespaceManager _
).IsNode.ToString)
当可选字段
'Questions1'
插入表单时,我通过
IsNode()
函数获得值
'true'

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


先谢谢你,Sun,不要一步到位<如果找不到XPath,则code>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

问题依然存在。问题在于MdgBox中的SelectSingleNode和note。@Sunscreen:您得到的确切异常是什么?当标记在我的表单中不存在时,会出现一个弹出消息。明确地说:System.NullReferenceException对象引用未设置为对象的实例如何捕获它而不是显示为弹出窗口?Thanks@Sunscreen:使用调试器逐步检查程序。问题到底发生在哪一行?好的,我一直都在获取值,这就是esception出现的原因。现在,对于您的代码,尽管它从未获得tha节点,但无论它是否插入,q都是“nothing”。(Set不是有效语句,所以我只是尝试了'q=myXPath…)