Javascript 使用jQuery读取XML-多条记录一起运行
我将在第4天敲打我的头——我已经尝试了vbscript、javascript和jQuery jQuery是我最接近于获得可读性的东西(不过,我对任何东西都持开放态度) 我正在导入一天结束报告的UPS XML文件 我需要的是能够将结果拉入ASP脚本以更新我的购物车。XML文件将是本地的,我将把它上载到我的服务器,然后运行脚本 这是我的HTML,它在一行上生成以下结果: 10051310516-1Z12345X0341863059 1Z12345X0342721665Javascript 使用jQuery读取XML-多条记录一起运行,javascript,jquery,xml,vbscript,xml-parsing,Javascript,Jquery,Xml,Vbscript,Xml Parsing,我将在第4天敲打我的头——我已经尝试了vbscript、javascript和jQuery jQuery是我最接近于获得可读性的东西(不过,我对任何东西都持开放态度) 我正在导入一天结束报告的UPS XML文件 我需要的是能够将结果拉入ASP脚本以更新我的购物车。XML文件将是本地的,我将把它上载到我的服务器,然后运行脚本 这是我的HTML,它在一行上生成以下结果: 10051310516-1Z12345X0341863059 1Z12345X0342721665 <!DOCTYPE ht
<!DOCTYPE html>
<html>
<head>
<script src="jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#dvContent").append("");
$.ajax({
type: "GET",
url: "UPSImportTracking.xml",
dataType: "xml",
success: function(xml){
$(xml).find('OpenShipments').each(function(){
var cID = $(this).find('CustomerID').text();
var tID = $(this).find('TrackingNumbers').text();
$("#dvContent").append("<p>"+cID+" - "+tID+"</p>");
});
},
error: function() {
alert("An error occurred while processing XML file.");
}
});
});
</script>
</head>
<body>
<div id="dvContent">
</div>
</body>
</html>
我希望它显示如下:
100513-1Z12345X0341863059
100516-1Z12345X0342721665
<!DOCTYPE html>
<html>
<head>
<script src="jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#dvContent").append("");
$.ajax({
type: "GET",
url: "UPSImportTracking.xml",
dataType: "xml",
success: function(xml){
$(xml).find('OpenShipments').each(function(){
var cID = $(this).find('CustomerID').text();
var tID = $(this).find('TrackingNumbers').text();
$("#dvContent").append("<p>"+cID+" - "+tID+"</p>");
});
},
error: function() {
alert("An error occurred while processing XML file.");
}
});
});
</script>
</head>
<body>
<div id="dvContent">
</div>
</body>
</html>
$(文档).ready(函数(){
$(“#dvContent”)。追加(“”);
$.ajax({
键入:“获取”,
url:“upImportTracking.xml”,
数据类型:“xml”,
成功:函数(xml){
$(xml).find('openshippings').each(function(){
var cID=$(this.find('CustomerID').text();
var tID=$(this.find('TrackingNumbers').text();
$(“#dvContent”)。追加(“”+cID+”-“+tID+””);
});
},
错误:函数(){
警报(“处理XML文件时出错。”);
}
});
});
以下是upsxml
<?xml version="1.0" encoding="windows-1252"?>
<OpenShipments xmlns="x-schema:OpenShipments.xdr">
<OpenShipment xmlns="x-schema: OpenShipments.xdr" ProcessStatus="Processed" ShipmentOption="SC">
<ShipTo>
<CustomerID>100513</CustomerID>
<CompanyOrName>MACHXX</CompanyOrName>
<Attention>Robert Brady </Attention>
<Address1>902 Old Coupland Rd</Address1>
<Address2></Address2>
<CityOrTown>Taylor</CityOrTown>
<PostalCode>76574</PostalCode>
<StateProvinceCounty>TX</StateProvinceCounty>
<CountryTerritory>United States</CountryTerritory>
<Telephone>512-888-3900</Telephone>
<EmailAddress>jcdisciple@gmail.com</EmailAddress>
<ResidentialIndicator>1</ResidentialIndicator>
</ShipTo>
<ShipmentInformation>
<ServiceType>GND</ServiceType>
<NumberOfPackages>1</NumberOfPackages>
<DescriptionOfGoods>Industrial Metals</DescriptionOfGoods>
<ShipperNumber>12345X</ShipperNumber>
<BillingOption>PP</BillingOption>
<QVNOption>
<QVNRecipientAndNotificationTypes>
<EMailAddress>jcdisciple@gmail.com</EMailAddress>
<Ship>1</Ship>
</QVNRecipientAndNotificationTypes>
<SubjectLine>Your Order is being Prepared for Shipment.</SubjectLine>
<Memo></Memo>
</QVNOption>
</ShipmentInformation>
<Package>
<PackageType>CP</PackageType>
<Weight>1</Weight>
<LargePackageIndicator></LargePackageIndicator>
<Reference1>100513</Reference1>
<Reference2></Reference2>
</Package>
<ReturnTo>
<CompanyName>Metals4U-Dallas</CompanyName>
<ContactPerson></ContactPerson>
<AddressLine1>1240 Majesty Rd</AddressLine1>
<AddressLine2></AddressLine2>
<AddressLine3></AddressLine3>
<City>Dallas</City>
<CountryCode>United States</CountryCode>
<PostalCode>75247</PostalCode>
<StateOrProvince>TX</StateOrProvince>
<Residential></Residential>
<EmailAddress1>robert.brady@metals4u.com</EmailAddress1>
</ReturnTo>
<ProcessMessage>
<ShipmentRates>
<ShipmentCharges>
<Rate>
<Published>12.83</Published>
<Negotiated>0.00</Negotiated>
</Rate>
</ShipmentCharges>
<ShipperCharges>
<Rate>
<Published>12.83</Published>
<Negotiated>0.00</Negotiated>
</Rate>
</ShipperCharges>
<ReceiverCharges>
<Rate>
<Published>0.00</Published>
<Negotiated>0.00</Negotiated>
</Rate>
</ReceiverCharges>
<QVN>
<Rate>
<Published>0.00</Published>
<Negotiated>0.00</Negotiated>
</Rate>
</QVN>
<ResidentialSurcharge>
<Rate>
<Published>2.90</Published>
<Negotiated></Negotiated>
</Rate>
</ResidentialSurcharge>
<PackageRates>
<PackageRate>
<TrackingNumber>1Z12345X0341863059</TrackingNumber>
<PackageCharges>
<Rate>
<Published>12.83</Published>
<Negotiated>0.00</Negotiated>
</Rate>
</PackageCharges>
<Delivery_AreaSurcharge>
<Rate>
<Published>2.85</Published>
<Negotiated>0.00</Negotiated>
</Rate>
</Delivery_AreaSurcharge>
</PackageRate>
</PackageRates>
</ShipmentRates>
<TrackingNumbers>
<TrackingNumber>1Z12345X0341863059</TrackingNumber>
</TrackingNumbers>
<ImportID></ImportID>
<Reference1>100513</Reference1>
<Reference2></Reference2>
<ShipmentID></ShipmentID>
<PRONumber></PRONumber>
</ProcessMessage>
</OpenShipment>
<OpenShipment xmlns="x-schema: OpenShipments.xdr" ProcessStatus="Processed" ShipmentOption="SC">
<ShipTo>
<CustomerID>100516</CustomerID>
<CompanyOrName>C/O: Robert Brady</CompanyOrName>
<Attention>Robert Brady </Attention>
<Address1>902 Old Coupland Rd</Address1>
<Address2></Address2>
<CityOrTown>Taylor</CityOrTown>
<PostalCode>76574</PostalCode>
<StateProvinceCounty>TX</StateProvinceCounty>
<CountryTerritory>United States</CountryTerritory>
<Telephone>512-888-3900</Telephone>
<EmailAddress>jcdisciple@gmail.com</EmailAddress>
<ResidentialIndicator>1</ResidentialIndicator>
</ShipTo>
<ShipmentInformation>
<ServiceType>GND</ServiceType>
<NumberOfPackages>1</NumberOfPackages>
<DescriptionOfGoods>Industrial Metals</DescriptionOfGoods>
<ShipperNumber>12345X</ShipperNumber>
<BillingOption>PP</BillingOption>
<QVNOption>
<QVNRecipientAndNotificationTypes>
<EMailAddress>jcdisciple@gmail.com</EMailAddress>
<Ship>1</Ship>
</QVNRecipientAndNotificationTypes>
<SubjectLine>Your Order is being Prepared for Shipment.</SubjectLine>
<Memo></Memo>
</QVNOption>
</ShipmentInformation>
<Package>
<PackageType>CP</PackageType>
<Weight>1</Weight>
<LargePackageIndicator></LargePackageIndicator>
<Reference1>100516</Reference1>
<Reference2></Reference2>
</Package>
<ReturnTo>
<CompanyName>Metals4U-Dallas</CompanyName>
<ContactPerson></ContactPerson>
<AddressLine1>1240 Majesty Rd</AddressLine1>
<AddressLine2></AddressLine2>
<AddressLine3></AddressLine3>
<City>Dallas</City>
<CountryCode>United States</CountryCode>
<PostalCode>75247</PostalCode>
<StateOrProvince>TX</StateOrProvince>
<Residential></Residential>
<EmailAddress1>robert.brady@metals4u.com</EmailAddress1>
</ReturnTo>
<ProcessMessage>
<ShipmentRates>
<ShipmentCharges>
<Rate>
<Published>12.83</Published>
<Negotiated>0.00</Negotiated>
</Rate>
</ShipmentCharges>
<ShipperCharges>
<Rate>
<Published>12.83</Published>
<Negotiated>0.00</Negotiated>
</Rate>
</ShipperCharges>
<ReceiverCharges>
<Rate>
<Published>0.00</Published>
<Negotiated>0.00</Negotiated>
</Rate>
</ReceiverCharges>
<QVN>
<Rate>
<Published>0.00</Published>
<Negotiated>0.00</Negotiated>
</Rate>
</QVN>
<ResidentialSurcharge>
<Rate>
<Published>2.90</Published>
<Negotiated></Negotiated>
</Rate>
</ResidentialSurcharge>
<PackageRates>
<PackageRate>
<TrackingNumber>1Z12345X0342721665</TrackingNumber>
<PackageCharges>
<Rate>
<Published>12.83</Published>
<Negotiated>0.00</Negotiated>
</Rate>
</PackageCharges>
<Delivery_AreaSurcharge>
<Rate>
<Published>2.85</Published>
<Negotiated>0.00</Negotiated>
</Rate>
</Delivery_AreaSurcharge>
</PackageRate>
</PackageRates>
</ShipmentRates>
<TrackingNumbers>
<TrackingNumber>1Z12345X0342721665</TrackingNumber>
</TrackingNumbers>
<ImportID></ImportID>
<Reference1>100516</Reference1>
<Reference2></Reference2>
<ShipmentID></ShipmentID>
<PRONumber></PRONumber>
</ProcessMessage>
</OpenShipment>
</OpenShipments>
100513
马赫
罗伯特·布雷迪
古普兰路902号
泰勒
76574
德克萨斯州
美国
512-888-3900
jcdisciple@gmail.com
1.
GND
1.
工业金属
12345X
聚丙烯
jcdisciple@gmail.com
1.
您的订单正在准备装运。
人物配对关系
1.
100513
达拉斯金属4U
陛下路1240号
达拉斯
美国
75247
德克萨斯州
罗伯特。brady@metals4u.com
12.83
0
12.83
0
0
0
0
0
2.90
1Z12345X0341863059
12.83
0
2.85
0
1Z12345X0341863059
100513
100516
转交:罗伯特·布雷迪
罗伯特·布雷迪
古普兰路902号
泰勒
76574
德克萨斯州
美国
512-888-3900
jcdisciple@gmail.com
1.
GND
1.
工业金属
12345X
聚丙烯
jcdisciple@gmail.com
1.
您的订单正在准备装运。
人物配对关系
1.
100516
达拉斯金属4U
陛下路1240号
达拉斯
美国
75247
德克萨斯州
罗伯特。brady@metals4u.com
12.83
0
12.83
0
0
0
0
0
2.90
1Z12345X0342721665
12.83
0
2.85
0
1Z12345X0342721665
100516
由于问题标记为VBScript,Windows XML工具为msxml:
Dim oFS : Set oFS = CreateObject("Scripting.FileSystemObject")
Dim sFSpec : sFSpec = oFS.GetAbsolutePathName("..\testdata\xml\26149392.xml")
Dim objMSXML : Set objMSXML = CreateObject("Msxml2.DOMDocument")
objMSXML.setProperty "SelectionLanguage", "XPath"
objMSXML.async = False
objMSXML.load sFSpec
If 0 = objMSXML.parseError Then
Dim sXPath : sXPath = "/OpenShipments/OpenShipment"
Dim ndlShipm : Set ndlShipm = objMSXML.selectNodes(sXPath)
Dim ndShipm
For Each ndShipm In ndlShipm
Dim Id : Id = ndShipm.selectSingleNode("ShipTo/CustomerID").text
Dim ndlTrack : Set ndlTrack = ndShipm.selectNodes("ProcessMessage/TrackingNumbers")
Dim ndTrack
For Each ndTrack In ndlTrack
WScript.Echo Id, ndTrack.text
Next
Next
Else
WScript.Echo objMSXML.parseError.reason
End If
以及使用组件
cscript 26149392.js / 26149392.vbs
100513 1Z12345X0341863059
100516 1Z12345X0342721665