Java SAX解析器和XAPIXML

Java SAX解析器和XAPIXML,java,saxparser,Java,Saxparser,我想用SAXParser解析XAPI xml。 但现在我有一个问题 首先是xml的一个片段: <node id="24924135" lat="49.8800274" lon="8.6453740" version="12" timestamp="2012-05-25T15:13:47Z" changeset="11699394" uid="61927" user="AlexPleiner"> <tag k="addr:city" v="Darmstadt"/> <

我想用SAXParser解析XAPI xml。 但现在我有一个问题

首先是xml的一个片段:

<node id="24924135" lat="49.8800274" lon="8.6453740" version="12" timestamp="2012-05-25T15:13:47Z" changeset="11699394" uid="61927" user="AlexPleiner">
<tag k="addr:city" v="Darmstadt"/>
<tag k="addr:housenumber" v="41"/>
<tag k="addr:postcode" v="64293"/>
<tag k="addr:street" v="Kahlertstraße"/>
<tag k="amenity" v="pub"/>
<tag k="name" v="Kneipe 41"/>
<tag k="note" v="DaLUG Meeting (4st Friday of month 19:30)"/>
<tag k="smoking" v="no"/>
<tag k="website" v="http://www.kneipe41.de/"/>
<tag k="wheelchair" v="limited"/>
纬度和经度不是问题,而是标签“标签”

如何检查“k”并获得v的值


有人有主意吗?:)

您感兴趣的值是xml属性,将在
startElement(…)
方法中通过传入的
attributes
参数表示

您需要执行的操作与对
节点执行的操作非常相似

public void startElement(String uri, String localName, String qName,
          Attributes atts) throws SAXException 
{
    //your other node code        

    if(localname.equals("tag")) {
        String k = atts.getValue("k");
        if(iAmInterestedInThisK(k)) {
            String v = atts.getValue("v");
            doSomethingWithThisV(v);
        }
    }
}
public void startElement(String uri, String localName, String qName,
          Attributes atts) throws SAXException 
{
    //your other node code        

    if(localname.equals("tag")) {
        String k = atts.getValue("k");
        if(iAmInterestedInThisK(k)) {
            String v = atts.getValue("v");
            doSomethingWithThisV(v);
        }
    }
}