0

HTML アジリティ パックを使用して、次の html から Long と Lat を抽出したいと思います。

<script type="text/javascript">
  var map = new google.maps.Map($("canvas"), {zoom : 14, mapTypeControl : false, draggable: true, scrollwheel : false, mapTypeId : google.maps.MapTypeId.HYBRID, center : new google.maps.LatLng(45.4623, -77.5425)});
</script>

つまり、2 つの個別の変数を入力する必要があります。1 つは値 45.4623 で、もう 1 つは -77.5425 です。

誰でも助けてもらえますか?私の正規表現スキルも素晴らしいものではありません。:-(

4

2 に答える 2

1

Web サイトを知らなければ、一致させる方法を判断するのは困難です。ただし、これは機能する可能性があります。

HtmlDocument doc = new HtmlDocument();
//Load your website...
//doc.Load(....
HtmlNode scriptNode = doc.DocumentNode.SelectSingleNode("//script[contains(text(),'google.maps.Map']");
Match match=      Regex.Match(scriptNode.InnerText, "\\.LatLng\\((?<Lat>-?[\\d.]+), (?<Lng>-?[\\d.]+)\\)");
string latitude = match.Groups["Lat"].Value;
string longitude = match.Groups["Lng"].Value;

後の script タグが text を含む最初のタグである場合にのみ機能しますgoogle.maps.Map

于 2012-04-28T11:23:33.700 に答える
0

HtmlAgilityPack は山かっこノードの解析には優れていますが、ノード内の JavaScript 構文については何も知りません。「LatLng\(([^\)]+)\)」で正規表現一致を実行し、Match.Groups[1].Value を抽出することをお勧めします。

于 2012-04-28T09:26:45.383 に答える