Я новичок в asp, и у меня есть крайний срок в ближайшие несколько дней. Я получаю следующий xml из ответа веб-службы.
print("<?xml version = "1.0" encoding = "UTF-8"?>
<user_data>
<execution_status>0</execution_status>
<row_count>1</row_count>
<txn_id>stuetd678</txn_id>
<person_info>
<attribute name = "firstname">john</attribute>
<attribute name = "lastname">doe</attribute>
<attribute name = "emailaddress">[email protected]</attribute>
</person_info>
</user_data>");
Как я могу разобрать этот xml на атрибуты asp?
Любая помощь приветствуется
Спасибо Дэмиен
При дополнительном анализе, некоторые мыльные материалы также возвращаются, поскольку ответ aboce поступает от вызова веб-службы. Могу ли я использовать приведенный ниже код lukes?





Вам нужно прочитать о парсере MSXML. Вот ссылка на хороший пример моноблока http://oreilly.com/pub/h/466
Немного чтения по XPath также поможет. Вы можете получить всю необходимую информацию в MSDN.
Похищение кода из Люк отличный ответ для агрегации:
Dim oXML, oNode, sKey, sValue
Set oXML = Server.CreateObject("MSXML2.DomDocument.6.0") 'creating the parser object
oXML.LoadXML(sXML) 'loading the XML from the string
For Each oNode In oXML.SelectNodes("/user_data/person_info/attribute")
sKey = oNode.GetAttribute("name")
sValue = oNode.Text
Select Case sKey
Case "execution_status"
... 'do something with the tag value
Case else
... 'unknown tag
End Select
Next
Set oXML = Nothing
Вы можете попробовать загрузить xml в объект xmldocument, а затем проанализировать его, используя его методы.
Под ASP, я полагаю, вы имеете в виду классический ASP? Пытаться:
Dim oXML, oNode, sKey, sValue
Set oXML = Server.CreateObject("MSXML2.DomDocument.4.0")
oXML.LoadXML(sXML)
For Each oNode In oXML.SelectNodes("/user_data/person_info/attribute")
sKey = oNode.GetAttribute("name")
sValue = oNode.Text
' Do something with these values here
Next
Set oXML = Nothing
В приведенном выше коде предполагается, что ваш XML находится в переменной sXML. Если вы используете это через запрос ServerXMLHttp, вы должны иметь возможность использовать свойство ResponseXML вашего объекта вместо oXML, описанного выше, и вообще пропустить шаг LoadXML.
Я не понимаю .. ты никогда ничего не делаешь со sValue ??