遍历 XML 数据的问题 - VBScript 方式

发布于 2024-08-03 10:11:06 字数 1624 浏览 2 评论 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= <上面的完整 xml 字符串>

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

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

  1. 如何检索

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

这似乎不起作用。

  1. 如何使用 for 循环检索购物车内的商品? 内部可以有多个商品。

  2. 如何检索标签内的值?例如: 我想通过循环浏览购物车 XML 内的产品来获得 9.90。

我很感激任何帮助。

Sample 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>

Note: The XML data above IS generated by using string concatenation.
The above XML data IS NOT loaded from an XML file.

After generated, how to use ASP VBScript to traverse through to read the data back?

  1. How to retrieve <finalTotalValue> ?

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

This seems not to be working.

  1. How to retrieve item(s) inside cart using for loop?
    Inside <cart> can have multiple items.

  2. How to retrieve value inside the tag? E.g.: <item productSubTotal="9.90" >
    I want to get 9.90, by looping through products inside the cart XML.

I appreciate any help.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

月依秋水 2024-08-10 10:11:06

本教程应该有所帮助。

要循环浏览购物车,您可以执行以下操作:

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

This tutorial should help.

To loop through the cart you can do something like this:

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.

You can retrieve finalTotalValue like this:

set final = oXML.getElementsByTagName("finalTotalValue")
finalTotalValue = final(0).text
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文