При использовании 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?