0
在使用XML对象时,我需要预期不同的名称空间前缀(3P因此而臭名昭着,有时甚至没有在每个元素中包括前缀,并让它的父母暗示它)。我明白如何在.NET中解决这个问题,但是这个项目需要我使用VFP和Microsoft.xmldom对象。使用Microsoft.xmldom更改XML元素的名称空间前缀以便利用GetElementsByTagName
的问题是,当我使用的getElementsByTagName,我没有找到元素,如果不使用前缀,或者如果它已经改变:
<ExampleTag>Example</ExampleTag>
loNode = loRoot.getElementsByTagName("ns2:ExampleTag").Item(0)
,反之亦然:
<ns2:ExampleTag>Example</ns2:ExampleTag>
loNode = loRoot.getElementsByTagName("ExampleTag").Item(0)
我一直在阅读关于getElementsByTagNameNS,但它总是错误,说明它不计算为一个对象。
如果我知道名称空间的URI总是相同的,我是否可以不使用这个优点,并以某种方式忽略/更改XML对象中使用的当前名称空间前缀?
谢谢,那是票!我曾试过.setproperty方法,但仍在使用.GetElementsByTagName。只要我切换到使用.selectNodes它就像一个魅力。 – MattCash