Как я могу получить данные компании, имя, фамилию, номер мобильного телефона, адрес электронной почты, страны, города и zipcode для каждого клиента из нижеследующего xml? Я пробовал следующий код, но когда какое-то значение отсутствует (например, электронная почта в первой записи), код присваивает значение из следующей записи, поэтому «ABCars» получает «[email protected]».Перемещение и фильтрация узлов xml в VBScript
Кроме того, знаете ли вы, как я могу отфильтровать загруженные записи, чтобы только записи с номером мобильного телефона, не существующим в другом наборе записей, остались (набор записей не включен в приведенный ниже код)?
Set xmlDoc = CreateObject("Msxml2.DOMDocument")
xmlDoc.async="false"
xmlDoc.setProperty "SelectionLanguage", "XPath"
xmlDoc.load("test.xml")
set nodes=xmlDoc.SelectNodes("//customer")
for i=0 to nodes.length-1
set company=xmlDoc.SelectNodes("//customer/company")
set firstname=xmlDoc.SelectNodes("//customer/firstname")
set lastname=xmlDoc.SelectNodes("//customer/lastname")
set mobile=xmlDoc.SelectNodes("//customer/mobile")
set email=xmlDoc.SelectNodes("//customer/email")
set country=xmlDoc.SelectNodes("//customer/address/country")
set city=xmlDoc.SelectNodes("//customer/address/city")
set zipcode=xmlDoc.SelectNodes("//customer/address/zipcode")
XML:
<?xml version="1.0" encoding="UTF-8"?>
<list>
<category>Cars</category>
<customers>
<customer>
<company>ABCars</company>
<firstname>Peter</firstname>
<lastname>Heinrich</lastname>
<mobile>9141453027</mobile>
<address>
<country>Germany</country>
<city>Berlin</city>
<zipcode>12345</zipcode>
</address>
</customer>
<customer>
<company>Best Cars</company>
<firstname>George</firstname>
<lastname>Wood</lastname>
<mobile>123456789</mobile>
<email>[email protected]</email>
<address>
<country>Great Britain</country>
<city>Leicaster</city>
<zipcode>67890</zipcode>
</address>
</customer>
</customers>
</list>
С уважением, Przemek
Отлично, большое спасибо! Мне просто интересно, есть ли более простой способ фильтрации записей, например. используя фильтр() - http://www.w3schools.com/vbscript/func_filter.asp? Может ли он использоваться с набором записей? –
@PrzemyslawWojda Набор записей ADODB имеет свою собственную функцию «Фильтр»: http://stackoverflow.com/q/1510860/3898606 –