[英]How to sort xml data using classic asp(vbscript) with out xpath?
<rooms>
<room>
<roomname>Single</roomname>
<roomid>1</roomid>
<Price>100</Price>
<Adult>1</Adult>
<child>0</child>
</room>
</rooms>
<rooms>
<room>
<roomname>Double</roomname>
<roomid>2</roomid>
<Price>200</Price>
<Adult>2</Adult>
<child>1</child>
</room>
</rooms>
<rooms>
<room>
<roomname>Single</roomname>
<roomid>3</roomid>
<Price>150</Price>
<Adult>1</Adult>
<child>0</child>
</room>
</rooms>
</hotel>
i need out put like this...( use vbscript in classic asp )我需要这样放...(在经典 asp 中使用 vbscript)
Hotel:酒店:
Single-100, Double-200, Total 300单100,双200,合计300
Single-150, Double-200, Total 350单人150,双人200,合计350
concept is: 1. customer need 2 rooms, 1st room 1 adult and 2nd room 2adults + 1child ( based on above xml) 2. customer he can choose up to max 4 rooms, each rooms max adult is 4 and max child is 2, for that each customer request xml is generated like this概念是: 1. 客户需要 2 个房间,第一个房间 1 个成人,第二个房间 2 个成人 + 1 个孩子(基于以上 xml) 2. 客户最多可以选择 4 个房间,每个房间最多 4 个成人,最多 2 个孩子,为此,每个客户请求 xml 都是这样生成的
for example: customer need 3 rooms, 1st room 1 adult, 2nd room 2 adult +1child and 3rd room 3adult, xml is like this (rooms is generated based on the availability)...例如:客户需要 3 个房间,第 1 个房间 1 个成人,第 2 个房间 2 个成人 +1 个儿童和第 3 个房间 3 个成人,xml 是这样的(房间是根据可用性生成的)...
<rooms>
<room>
<roomname>Single</roomname>
<roomid>1</roomid>
<Price>100</Price>
<Adult>1</Adult>
<child>0</child>
</room>
</rooms>
<rooms>
<room>
<roomname>Double</roomname>
<roomid>2</roomid>
<Price>200</Price>
<Adult>2</Adult>
<child>1</child>
</room>
</rooms>
<rooms>
<room>
<roomname>Single</roomname>
<roomid>3</roomid>
<Price>150</Price>
<Adult>1</Adult>
<child>0</child>
</room>
</rooms>
<rooms>
<room>
<roomname>Triple</roomname>
<roomid>4</roomid>
<Price>300</Price>
<Adult>3</Adult>
<child>0</child>
</room>
</rooms>
</hotel>
in this cause out put i need like this出于这个原因,我需要这样
Hotel:酒店:
Single-100, Double-200, Triple-300, Total 600单人100、双人200、三人300、合计600
Single-150, Double-200, Triple-300, Total 650单人150,双人200,三人300,合计650
I try to take out using vbscript, but some cause is accepted but some cause not我尝试使用 vbscript 取出,但有些原因被接受但有些原因不接受
<%@ 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"
for i= 1 to 3 '2 is noofrooms
adult1 ="1"
child1 ="0"
adult2 ="2"
child2 ="1"
adult3 ="3"
child3 ="0"
'adult4 ="4"
'child4 ="0"
for d=0 to 4 ' total nodes ( /rooms)
' this for 2 room cause
'ds ="(//HotelDetails/hotel/rooms/room[Adult='"&adult1&"' and child='"&child1&"'])["&i&"]|(//HotelDetails/hotel/rooms/room[Adult='"&adult2&"' and child='"&child2&"'])["&d&"]"
' this for 3 room cause
ds ="(//HotelDetails/hotel/rooms/room[(Adult='"&adult1&"' and child='"&child1&"') ])["&i&"]|((//HotelDetails/hotel/rooms/room[(Adult='"&adult2&"' and child='"&child2&"')])|(//HotelDetails/hotel/rooms/room[(Adult='"&adult3&"' and child='"&child3&"')]))["&d&"]"
' this for 4 room cause
'ds ="(//HotelDetails/hotel/rooms/room[(Adult='"&adult1&"' and child='"&child1&"') ])["&i&"]|((//HotelDetails/hotel/rooms/room[(Adult='"&adult2&"' and child='"&child2&"')])|(//HotelDetails/hotel/rooms/room[(Adult='"&adult3&"' and child='"&child3&"')])|(//HotelDetails/hotel/rooms/room[(Adult='"&adult3&"' and child='"&child3&"')]))["&d&"]"
Set colNodes=doc.selectNodes (ds)
For Each objNode in colNodes
response.write objNode.Text & VbCrLf
Next
next
next
Else
Response.Write doc.parseError.reason
End If
Plz help me to (take output) solve this problem thanks请帮我(获取输出)解决这个问题谢谢
Is this a repeat of: Sort XML data in classic ASP ?这是重复: 在经典 ASP 中对 XML 数据进行排序吗?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.