I want to copy the “text content” in the elements <TrackSummary>
from the XML to my GS page.
The XML is like this one, but longer; it will have 35 <TrackInfo>
blocks with <TrackSummary>
an element.
<TrackResponse>
<TrackInfo ID="420219219300110597203503301446">
<TrackSummary>Your item was delivered in or at the mailbox at 11:50 am on September 9, 2024 in ELKTON, MD 21921.</TrackSummary>
<TrackDetail>Out for Delivery, 09/09/2024, 6:10 am, ELKTON, MD 21921</TrackDetail>
<TrackDetail>Arrived at Hub, September 8, 2024, 11:57 am, ELKTON, MD 21921</TrackDetail>
<TrackDetail>Arrived at USPS Regional Destination Facility, 09/08/2024, 5:23 am, BALTIMORE MD DISTRIBUTION CENTER</TrackDetail>
<TrackDetail>Arrived at USPS Regional Origin Facility, 09/07/2024, 2:35 am, GREENSBORO NC DISTRIBUTION CENTER</TrackDetail>
<TrackDetail>Accepted at USPS Origin Facility, September 7, 2024, 1:20 am, HICKORY, NC 28601</TrackDetail>
<TrackDetail>Shipment Received, Package Acceptance Pending, September 6, 2024, 2:32 pm, HICKORY, NC 28601</TrackDetail>
<TrackDetail>Pre-Shipment, USPS Awaiting Item, 09/02/2024</TrackDetail>
</TrackInfo>
<TrackInfo ID="420968259300110597203503302665">
<TrackSummary>Your item was delivered in or at the mailbox at 10:44 am on September 9, 2024 in HONOLULU, HI 96825.</TrackSummary>
<TrackDetail>Out for Delivery, 09/09/2024, 6:30 am, HONOLULU, HI 96825</TrackDetail>
<TrackDetail>Arrived at Post Office, 09/09/2024, 6:19 am, HONOLULU, HI 96825</TrackDetail>
<TrackDetail>Arrived at USPS Regional Destination Facility, 09/09/2024, 3:55 am, HONOLULU HI DISTRIBUTION CENTER</TrackDetail>
<TrackDetail>In Transit to Next Facility, 09/08/2024</TrackDetail>
<TrackDetail>Arrived at USPS Regional Origin Facility, 09/07/2024, 2:41 am, GREENSBORO NC DISTRIBUTION CENTER</TrackDetail>
<TrackDetail>Accepted at USPS Origin Facility, September 7, 2024, 1:26 am, HICKORY, NC 28601</TrackDetail>
<TrackDetail>Shipment Received, Package Acceptance Pending, September 6, 2024, 2:32 pm, HICKORY, NC 28601</TrackDetail>
<TrackDetail>Pre-Shipment, USPS Awaiting Item, 09/02/2024</TrackDetail>
</TrackInfo>
<TrackInfo ID="420481549300110597203503303358">
<TrackSummary>Your item was delivered in or at the mailbox at 1:45 pm on September 10, 2024 in LIVONIA, MI 48154.</TrackSummary>
<TrackDetail>Out for Delivery, 09/10/2024, 7:13 am, LIVONIA, MI 48154</TrackDetail>
<TrackDetail>Arrived at Post Office, 09/10/2024, 7:02 am, LIVONIA, MI 48150</TrackDetail>
<TrackDetail>Arrived at USPS Facility, September 10, 2024, 4:15 am, LIVONIA, MI 48150</TrackDetail>
<TrackDetail>Departed USPS Regional Facility, 09/10/2024, 3:38 am, DETROIT MI DISTRIBUTION CENTER</TrackDetail>
<TrackDetail>Arrived at USPS Regional Destination Facility, 09/09/2024, 10:47 am, DETROIT MI DISTRIBUTION CENTER</TrackDetail>
<TrackDetail>In Transit to Next Facility, 09/08/2024</TrackDetail>
<TrackDetail>Arrived at USPS Regional Origin Facility, 09/07/2024, 1:49 am, GREENSBORO NC DISTRIBUTION CENTER</TrackDetail>
<TrackDetail>Accepted at USPS Origin Facility, September 7, 2024, 12:34 am, HICKORY, NC 28601</TrackDetail>
<TrackDetail>Shipment Received, Package Acceptance Pending, September 6, 2024, 2:32 pm, HICKORY, NC 28601</TrackDetail>
<TrackDetail>Pre-Shipment, USPS Awaiting Item, 09/02/2024</TrackDetail>
</TrackInfo>
<TrackInfo ID="420114359300110597203503303785">
<TrackSummary>Your item was delivered to the garage, other door or an alternate location at the address at 1:02 pm on September 10, 2024 in JAMAICA, NY 11435.</TrackSummary>
<TrackDetail>Out for Delivery, 09/10/2024, 6:10 am, JAMAICA, NY 11435</TrackDetail>
<TrackDetail>Arrived at Post Office, 09/10/2024, 2:22 am, JAMAICA, NY 11435</TrackDetail>
<TrackDetail>Arrived at USPS Facility, September 9, 2024, 1:16 am, JAMAICA, NY 11432</TrackDetail>
<TrackDetail>Arrived at USPS Regional Destination Facility, 09/08/2024, 12:04 pm, METRO NY DISTRIBUTION CENTER</TrackDetail>
<TrackDetail>Arrived at USPS Regional Origin Facility, 09/07/2024, 2:39 am, GREENSBORO NC DISTRIBUTION CENTER</TrackDetail>
<TrackDetail>Accepted at USPS Origin Facility, September 7, 2024, 1:24 am, HICKORY, NC 28601</TrackDetail>
<TrackDetail>Shipment Received, Package Acceptance Pending, September 6, 2024, 2:32 pm, HICKORY, NC 28601</TrackDetail>
<TrackDetail>Pre-Shipment, USPS Awaiting Item, 09/02/2024</TrackDetail>
</TrackInfo>
</TrackResponse>
I’ve made a script and successfully copied the text from the first <TrackSummary>
element. However, I don’t know how to access the next ones. This is my script:
function getTrackingStatus() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var historySheet = ss.getSheetByName("Test");
var userID = "XXXXXXXXX";
url1 = "https://production.shippingapis.com/ShippingAPI.dll?API=TrackV2&XML=<TrackRequest USERID="";
url2 = "%22%3E%3CTrackID%20ID=%22";
url3 = "%22%3E%3C/TrackID%3E%3C/TrackRequest%3E";
for (var i = 0; i < 5; i++) {
var trackingNumber = historySheet.getRange(i + 2, 10).getValues();
Logger.log('Tracking Number = %s',trackingNumber)
const url = url1 + userID + url2 + trackingNumber + url3;
Logger.log('URL = %s',url)
const xml = UrlFetchApp.fetch(url).getContentText();
const document = XmlService.parse(xml);
const root = document.getRootElement();
const trackInfo = root.getChild('TrackInfo')
const trackSummaryText = trackInfo.getChildText('TrackSummary');
Logger.log('Track Summary Text = %s', trackSummaryText)
const targetRange = historySheet.getRange(i + 2, 14);
targetRange.setValue(trackSummaryText);
}
}
New contributor
Julian is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
1