【发布时间】:2015-12-14 16:12:32
【问题描述】:
当使用一个 XML 对象时,我需要预测所使用的命名空间前缀会不时改变(3P 对此臭名昭著,有时甚至没有在每个元素中都包含前缀,而是让它隐含在它的父母)。我了解如何在 .NET 中解决这个问题,但这个项目需要我使用 VFP 和 Microsoft.xmldom 对象。
问题是,当我使用 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 对象中使用的当前命名空间前缀?
【问题讨论】:
标签: xml namespaces visual-foxpro prefix xmldom