Здравствуйте, Mikolator, Вы писали:
M>XML файл.
M>M><result xmlns="http://www.usasax.com/smsflatpostpaid/types">
M> <packages>
M> <item>
M> <dealerCode>OM01A00010</dealerCode>
M> <isDefault>false</isDefault>
M> <packageCode>SMSOMNI</packageCode>
M> <packageDesc>SMSFlatPostPaid Omnitel kryptis</packageDesc>
M> <packageRestrictionCode>0</packageRestrictionCode>
M> </item>
M> <item>
M> <dealerCode>OM01A00010</dealerCode>
M> <isDefault>false</isDefault>
M> <packageCode>SMSVISI</packageCode>
M> <packageDesc>SMSFlatPostPaid visu tinklu kryptis</packageDesc>
M> <packageRestrictionCode>0</packageRestrictionCode>
M> </item>
M> </packages>
M></result>
M>
M>Код. Создаём DOM объект и в него загружаем XML. Потом пытаюсь получить список элементов
M>M>Dim dom0 As MSXML2.DOMDocument60
M> Dim xmllist As MSXML2.IXMLDOMNodeList
M> Set dom0 = New DOMDocument60
M> dom0.setProperty "SelectionLanguage", "XPath"
M> dom0.Load ("c:\out.xml")
M> Set xmllist = dom0.getElementsByTagName("item")
M>
M>Проблема в том, что xmllist остаётся пустым. Но если в XML файле убрать атрибут xmlns, то все работает прекрасно. Что не так? Почему не работает с этим xmlns???
M>Так все ОК.
M>M><result>
M> <packages>
M> <item>
M> <dealerCode>OM01A00010</dealerCode>
M> <isDefault>false</isDefault>
M> <packageCode>SMSOMNI</packageCode>
M> <packageDesc>SMSFlatPostPaid Omnitel kryptis</packageDesc>
M> <packageRestrictionCode>0</packageRestrictionCode>
M> </item>
M> <item>
M> <dealerCode>OM01A00010</dealerCode>
M> <isDefault>false</isDefault>
M> <packageCode>SMSVISI</packageCode>
M> <packageDesc>SMSFlatPostPaid visu tinklu kryptis</packageDesc>
M> <packageRestrictionCode>0</packageRestrictionCode>
M> </item>
M> </packages>
M></result>
M>
Читай доку. Надо делать XmlNamespaceManager, в котором указать твой нэймспейс обязательно с любым префиксом. А XPath писать с этим префиксом.