5

私はaspを初めて使用し、数日以内に締め切りがあります。Webサービス応答内から次の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">john.doe@johnmail.com</attribute>
</person_info>
</user_data>");

このxmlをasp属性に解析するにはどうすればよいですか?

どんな助けでも大歓迎です

ありがとうダミアン

さらに分析すると、aboceの応答はWebサービス呼び出しからのものであるため、一部の石鹸も返されます。以下のルークスコードを引き続き使用できますか?

4

3 に答える 3

9

MSXML パーサーについて読む必要があります。これは、優れたオールインワンの例へのリンクです http://oreilly.com/pub/h/466

XPath の一部を読むことも役立ちます。MSDN で必要なすべての情報を取得できます。

集計目的でLukeの優れた返信からコードを盗む:

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
于 2008-09-18T17:32:21.520 に答える
6

ASP とは、Classic 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

上記のコードは、sXML という変数に XML があることを前提としています。これを ServerXMLHttp リクエスト経由で使用している場合は、上記の oXML の代わりにオブジェクトの ResponseXML プロパティを使用して、LoadXML ステップを完全にスキップできます。

于 2008-09-18T17:36:33.070 に答える
0

xml を xmldocument オブジェクトにロードしてから、そのメソッドを使用して解析することができます。

于 2008-09-18T17:33:56.897 に答える