0

示例 XML:

<cart subTotal="USD 3.50" >

    <item productSubTotal="3.50" >
        <pkProductItem>241</pkProductItem>
        <itemCode>23455-green-XL</itemCode>
        <itemName>my product ( green - XL-size )</itemName>
        <qty>1</qty>
        <itemUnitPrice>3.50</itemUnitPrice>
        <totalItemPrice>3.50</totalItemPrice>
    </item>

    <item productSubTotal="9.90" >
        <pkProductItem>123</pkProductItem>
        <itemCode>23455-green-XL</itemCode>
        <itemName>my product ( red - L-size )</itemName>
        <qty>1</qty>
        <itemUnitPrice>9.90</itemUnitPrice>
        <totalItemPrice>9.90</totalItemPrice>
        <options> </options>
    </item>

</cart>

<finalTotalValue>3.50</finalTotalValue>

Dim myXML: myXML= <the full xml string above>

注意:上面的 XML 数据是使用字符串连接生成的。上述 XML 数据不是从 XML 文件加载的。

生成后,如何使用 ASP VBScript 遍历读取数据?

  1. 如何找回<finalTotalValue>

    Dim oXML, URI
    Set oXML = Server.CreateObject("MSXML2.DomDocument")
    oXML.loadXML(objXMLhttp.responseText)
    URI = oXML.selectSingleNode("//itemCode").text
    

这似乎不起作用。

  1. 如何使用 for 循环检索购物车内的商品?里面<cart>可以有多个项目。

  2. 如何检索标签内的值?例如:<item productSubTotal="9.90" > 我想通过在购物车 XML 中循环产品来获得 9.90。

我很感激任何帮助。

4

1 回答 1

1

本教程应该有所帮助。

要遍历购物车,您可以执行以下操作:

totalcost = 0
set Cart_node = oXML.getElementsByTagName("cart")
' Loop through the cart node
for each itemNodes in Cart_node(0).ChildNodes
    ' get the product sub total from each item node
    productSubTotal = itemNodes.getAttribute("productSubTotal")
    ' Loop through each item node
    for each item in itemNodes.ChildNodes
        ' if the node name is "totalItemPrice" add the value to the totalcost
        if item.nodeName = "totalItemPrice" Then
            totalcost = totalcost + item.Text
        end if
    Next
Next
' totalcost will be the total of all values in totalItemPrice nodes.

您可以像这样检索finalTotalValue

set final = oXML.getElementsByTagName("finalTotalValue")
finalTotalValue = final(0).text
于 2009-09-02T15:37:27.130 回答