日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

DHL 快递跟踪查询

發布時間:2023/12/10 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 DHL 快递跟踪查询 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

思路描述:主要使用正則表達式解析。

返回一個跟蹤步驟列表。

  • public class TrackingData
  • ????{
  • ????????public string time { get; set; }
  • ????????public string context { get; set; }
  • ????}
  • ????public class DHLExpressTrackingHelper
  • ????{
  • ????????private static string urlFormat = "http://webtrack.dhlglobalmail.com/?trackingnumber={0}";
  • ????????public static List<TrackingData> GetTrackingData(string trackCode)
  • ????????{
  • ????????????//trackCode = "A150529020091";
  • ????????????WebMocker dhlMocker = new WebMocker();
  • ????????????var url = string.Format(urlFormat, trackCode);
  • ????????????var html = dhlMocker.Get(url);
  • ????????????//1
  • ????????????var patternOLTag = "<ol.*?>(?<olvalue>.*?)</ol>";
  • ????????????var match = Regex.Match(html, patternOLTag, RegexOptions.Multiline | RegexOptions.Singleline);
  • ????????????if (match.Success)
  • ????????????{
  • ????????????????var olValue = match.Groups["olvalue"].Value;
  • ????????????????return ParseTrackingData(olValue);
  • ????????????}
  • ????????????return new List<TrackingData>();
  • ????????}
  • ????????private static List<TrackingData> ParseTrackingData(string olValue)
  • ????????{
  • ????????????var patternLITag = "<li.*? class=\"(?<className>.*?)\".*?>(?<content>.*?)</li>";
  • ????????????var list = new List<TrackingData>();
  • ????????????string datePrefix = null;
  • ????????????foreach (Match item in Regex.Matches(olValue, patternLITag, RegexOptions.Singleline | RegexOptions.Multiline | RegexOptions.IgnoreCase))
  • ????????????{
  • ????????????????var className = item.Groups["className"].Value;
  • ????????????????var content = item.Groups["content"].Value;
  • ????????????????if (className == "timeline-date")
  • ????????????????{
  • ????????????????????datePrefix = content;
  • ????????????????}
  • ????????????????else if (className.Contains("timeline-event"))
  • ????????????????{
  • ????????????????????var pp = "<div.*?class=\"(?<divClassName>.*?)\".*?>(?<divContent>.*?)</div>";
  • ????????????????????TrackingData trackingData = null;
  • ????????????????????foreach (Match subItem in Regex.Matches(content, pp, RegexOptions.Singleline | RegexOptions.Multiline | RegexOptions.IgnoreCase))
  • ????????????????????{
  • ????????????????????????var divClassName = subItem.Groups["divClassName"].Value.Trim();
  • ????????????????????????var subContent = subItem.Groups["divContent"].Value.Trim();
  • ????????????????????????if (divClassName == "timeline-time")
  • ????????????????????????{
  • ????????????????????????????subContent = Regex.Replace(subContent, "<[^<]*>", "");
  • ????????????????????????????trackingData = new TrackingData();
  • ????????????????????????????trackingData.time = datePrefix + " " + subContent;
  • ????????????????????????}
  • ????????????????????????else if (divClassName == "timeline-location")
  • ????????????????????????{
  • ????????????????????????????trackingData.context += subContent + " ";
  • ????????????????????????}
  • ????????????????????????else if (divClassName == "timeline-description")
  • ????????????????????????{
  • ????????????????????????????trackingData.context += subContent + " ";
  • ????????????????????????}
  • ????????????????????????//else if (divClassName == "timeline-location timeline-location-responsive")
  • ????????????????????????//{
  • ????????????????????????// trackingData.Description += subContent;
  • ????????????????????????//}
  • ????????????????????}
  • ????????????????????list.Add(trackingData);
  • ????????????????}
  • ????????????}
  • ????????????//foreach (var item in list)
  • ????????????//{
  • ????????????// Console.WriteLine(item.DateString + "--" + item.Description);
  • ????????????//}
  • ????????????return list;
  • ????????}
  • ????}
  • 轉載于:https://www.cnblogs.com/pengzhen/p/4832787.html

    創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

    總結

    以上是生活随笔為你收集整理的DHL 快递跟踪查询的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。