gpt4 book ai didi

xml - 在经典 ASP 中对 XML 数据进行排序

转载 作者:行者123 更新时间:2023-12-03 16:23:03 24 4
gpt4 key购买 nike

我想在xml下面排序,基于成人和 child (我需要把成人和 child 作为常数):

<HotelDetails>
<hotel>
<rooms>
<room>
<roomname>Single</roomname>
<Price>100</Price>
<Adult>1</Adult>
<child>0</child>
</room>
</rooms>
<rooms>
<room>
<roomname>Single</roomname>
<Price>150</Price>
<Adult>1</Adult>
<child>0</child>
</room>
</rooms>
<rooms>
<room>
<roomname>Double</roomname>
<Price>200</Price>
<Adult>2</Adult>
<child>1</child>
</room>
</rooms>
</hotel>
</HotelDetails>

给:
Hotel :   Single-100,Double-200,Total 300Single-150,Double-200,Total 350

I try to sort with below code, but it comes like constant (distinct data). Anyone have an idea to sort above XML use something like below code?

<%@ Language="VBScript" CodePage="65001"%>  
<%
Response.ContentType = "text/plain; charset=UTF-8"

Dim doc
Set doc = Server.CreateObject("Msxml2.DOMDocument.3.0")
doc.async = False

If doc.load(Server.MapPath("ee.xml")) Then
doc.setProperty "SelectionLanguage", "XPath"

Dim xpath
xpath = "HotelDetails/hotel/rooms[not(room/Adult= preceding-sibling::rooms/room/Adult)]/room/Adult"

For Each Adult in doc.selectNodes(xpath)
Response.Write "Hotel" & VbCrLf
Response.Write Adult.ChildNodes.Item(0).Text & VbCrLf
Next
Else
Response.Write doc.parseError.reason
End If
%>

我怎样才能做到这一点?

最佳答案

另一种可能性是使用 ADODB 断开连接记录集,并使用 ADODB 工具进行排序和提取。

一个很好的起点(代码在 VB 中):

  • How To Obtain an ADO Recordset from XML
    Dim oStream As ADODB.Stream
    Set oStream = New ADODB.Stream

    oStream.Open
    oStream.WriteText sXML 'Give the XML string to the ADO Stream

    oStream.Position = 0 'Set the stream position to the start

    Dim oRecordset As ADODB.Recordset
    Set oRecordset = New ADODB.Recordset

    oRecordset.Open oStream 'Open a recordset from the stream

    oStream.Close
    Set oStream = Nothing

    Set RecordsetFromXMLString = oRecordset 'Return the recordset

    Set oRecordset = Nothing
  • 关于xml - 在经典 ASP 中对 XML 数据进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/992425/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com