2012-05-09 69 views
2

私はこのXMLノードを持っています。私はJavaを使用して座標を緯度と経度に分割したいと思います。XML文字列を分割する方法は?

<MAP>1234:3.12345,119.12345</MAP> 

は、私は、座標または少なくともこの形式(緯度、長い)と連携得ることができます分割したいです。皆さんありがとう。

答えて

3

正規表現を試しましたか?

final Pattern regex = Pattern.compile("<MAP>((.*):(.*),(.*))</MAP>", Pattern.DOTALL); 
final Matcher matcher = regex.matcher(whatyouwanttoparselatlongwiththeaboveformat); 
if (matcher.find()) { 
    System.out.print(matcher.group(2) + " : (lat,lon) = "); 
    float latitude = Float.valueOf(matcher.group(3)); 
    float longitude = Float.valueOf(matcher.group(4)); 
    System.out.println(latitude + "," + longitude); 
} 

あなたが望むように緯度と経度を扱うことができます。

+0

XMLパーザでノードの内容を取得し、その正規表現を適用したいとします。 XML [HTMLのような](http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags)は、一般的に正規表現では解析できません。しかし、ユースケースの詳細に応じて、うまくいくかもしれません。 – Taymon

+0

返信いただきありがとうございます。私は答えがあります。私はこのコードを使用しています。String st = getCharacterDataFromElement(line); 文字列str [] = st.split( ":"、2); 文字列latlong; latlong = str [1]; out.println(latlong); –