如何使用VB6在MSXML中使用命名空间管理器正确设置命名空间绑定?

时间:2015-09-22 12:46:26

标签: xml xpath vb6 msxml

我在chooseinglenode中使用Xpath时遇到问题,并且发现我应该使用xmlnamespacemanager。一切都很好,但我无法找到它在VB6中的位置。理想情况下,我想使用后期绑定(因为我实际上并没有使用VB6,而是使用Lotus Notes中的Lotusscript)。请有人能告诉我怎么去吗?或者,甚至如何在vb6中使用chooseinglenode并让它使用命名空间:node = choicesinglenode(“// xx:myname”),当我在XML中设置默认命名空间时。我不想删除命名空间声明,因为它应该与完成的XML一起发布。

我已经宣布解析器没有问题:

Set doc = createobject("Microsoft.XMLDOM")

但我找不到xmlnamespace管理器。

非常感谢。

1 个答案:

答案 0 :(得分:1)

您可以按如下方式设置要在XPath查询中使用的命名空间(以及链接to the MSDN documentation of the same):

Set doc = createobject("Microsoft.XMLDOM")
doc.setProperty "SelectionLanguage", "XPath"
doc.setProperty "SelectionNamespaces", "xmlns:xx='urn:your.namespace' xmlns:yy='http://your/other/namespace'"

密切注意双引号字符串中的单引号。

如果您必须处理名称空间重新定义,请查看此its-not-a-bug-its-a-feature report on MS Support。底线:只需定义不同的名称空间前缀。

为什么这是Geert Bormans on Experts-Exchange极好解释的方式。