2012-06-08 66 views
-6

我想從以下鏈接獲取距離文本。我已經使用NSXML解析,但無法得到結果。請告訴我哪個xml方法應該用於跟蹤xml。如何xml解析

http://maps.googleapis.com/maps/api/directions/xml?origin=30.9165904,75.8634752&destination=30.89314000,75.86938000&sensor=true

感謝所有

+3

它看起來像相當標準的XML,所以你想要的任何方法都可以。你試過什麼了? – Woody

+0

我已經使用NSXML解析,但沒有得到結果。 –

+0

爲什麼你不與我們分享你的嘗試(發佈一些代碼片段)並解釋爲什麼它不起作用(「它沒有得到結果」並沒有真正告訴我們什麼),並詳細說明你有什麼試圖調試它並使其工作。 –

回答

0

那麼最好的通常是與DOM,這樣的事情:

var dist_element = document.getElementsByTagName("distance").child[1]; 

的東西有,如果你有到標籤的距離的幾個要素,你會得到一個數組。所以你需要遍歷每一個元素。

對不起,我沒有詳細介紹所有的細節,但確切的實施取決於您選擇的語言。你使用哪種語言?

+0

我正在使用Objective -C –

0

我認爲使用TouchXML解析...波紋管鏈接有這個

Parsing subnode with TouchXML

的答案,你也可以得到子節點與它的一個例子是波紋管......

NSArray *nodes3 = [doc nodesForXPath:@"//step" error:nil]; 
//  NSLog(@">>>>>>>>>>>> response node count :%d", [nodes3 count]); 

     for (CXMLElement *node in nodes3) { 

      NSString *str; 
      for(int counter = 0; counter < [node childCount]; counter++) { 
//    NSLog(@">>>>>>>>> child node name :%@", [[node childAtIndex:counter] name]); 

       if ([[[node childAtIndex:counter] name] isEqualToString:@"distance"]) {     
        str = [[node childAtIndex:counter] stringValue]; 
//     NSLog(@"error number :%@", str); 
       } 
//etc.... 

      } 
     } 

希望,這可以幫助你.. :)