user_data
execution_status0/execution_status
row_count1/row_count"/>

Asp XML 解析

Asp XML 解析

Asp XML Parsing

我是 asp 新手,在接下来的几天里有一个截止日期。
我从 Web 服务响应中收到以下 xml。

1
2
3
4
5
6
7
8
9
10
11
print("?xml version="1.0" encoding="UTF-8"?
user_data
execution_status0/execution_status
row_count1/row_count
txn_idstuetd678/txn_id
person_info
    attribute name="firstname"john/attribute
    attribute name="lastname"doe/attribute
    attribute name="emailaddress"john.doe@johnmail.com/attribute
/person_info
/user_data");

我怎样才能把这个xml解析成asp属性?

非常感谢任何帮助

谢谢
达米安

进一步分析,由于 aboce 响应来自 Web 服务调用,因此还会返回一些肥皂内容。我还可以使用下面的 lukes 代码吗?


您需要阅读有关 MSXML 解析器的信息。这是一个好的多合一示例的链接 http://oreilly.com/pub/h/466

阅读 XPath 也会有所帮助。您可以在 MSDN 中获得所需的所有信息。

从 Luke 的优秀回复中窃取代码用于聚合目的:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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


我假设你的意思是经典的 ASP?试试:

1
2
3
4
5
6
7
8
9
10
11
12
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 步骤。


您可以尝试将 xml 加载到 xmldocument 对象中,然后使用它的方法对其进行解析。


推荐阅读

    纯命令行linux服务器?

    纯命令行linux服务器?,密码,服务,系统,命令,终端,地址,百度,情况,状态,公共,

    重启服务linux命令?

    重启服务linux命令?,网络,系统,服务,设备,工作,标准,名称,工具,命令,管理,Lin

    linux下命令访问服务?

    linux下命令访问服务?,服务,密码,状态,信息,地址,网络,认证,系统,号码,名称,l

    检查linux服务器命令?

    检查linux服务器命令?,系统,信息,状态,情况,时间,工具,网络,环境,服务,电脑,

    linux7关闭服务命令?

    linux7关闭服务命令?,系统,软件,服务,命令,电脑,状态,工具,管理,进程,用户,求

    linux服务器域名命令?

    linux服务器域名命令?,地址,信息,系统,网络,服务,环境,名称,网站,管理,电脑,l

    服务启动linux命令?

    服务启动linux命令?,服务,密码,信息,系统,名称,命令,文件,用户,下面,服务器,l

    linux服务器命令框?

    linux服务器命令框?,系统,情况,状态,信息,数据,软件,指标,服务,在线,工具,lin

    服务器linux命令教程?

    服务器linux命令教程?,系统,地址,密码,网络,设备,工作,服务,标准,连续,管理,

    linux删除服务的命令?

    linux删除服务的命令?,服务,系统,软件,平台,名称,管理,环境,产品,命令,文件,

    linux开机服务命令行?

    linux开机服务命令行?,系统,工作,地址,信息,服务,设备,数字,第一,设计,发行,l

    linux服务器分区命令?

    linux服务器分区命令?,系统,管理,信息,设备,时间,命令,基础,首次,平均,情况,l

    linux下看服务的命令?

    linux下看服务的命令?,服务,状态,系统,名称,信息,工具,命令,环境,网络,情况,

    linux命令解析dns?

    linux命令解析dns?,地址,系统,服务,网络,信息,状态,服务器,企业,管理,分析,Li

    linux服务器上传命令?

    linux服务器上传命令?,服务,软件,平台,数据,工具,系统,手机,电脑,设备,官网,

    linux服务更新命令?

    linux服务更新命令?,系统,工作,地址,信息,服务,命令,设备,标准,目录,功能,lin

    linux重新服务命令?

    linux重新服务命令?,服务,系统,网络,标准,工作,设备,命令,名称,信息,网络服

    linux网络服务器命令?

    linux网络服务器命令?,地址,网络,系统,名称,信息,工具,状态,中心,灵活,基础,l

    linux网络服务器命令?

    linux网络服务器命令?,地址,网络,系统,名称,信息,工具,状态,中心,灵活,基础,l

    linuxid命令解析?

    linuxid命令解析?,系统,工作,信息,密码,命令,工具,软件,电脑,情况,标准,linux