我有以下XML代码,我从UPnP设备获得并喜欢获取res值 - RTSP URL。在这种情况下rtsp://10.42.0.103:554 / live.sdp
我该怎么做?我听说Android有一些内置的读取XML支持。这是真的吗?
<DIDL-Lite xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/">
<item id="11" parentID="1" restricted="1">
<dc:title>Network Camera Stream 1</dc:title>
<upnp:class>object.item.videoItem</upnp:class>
<res protocolInfo="rtsp-rtp-udp:*:video/mpeg4-generic:*" resolution="640x480">rtsp://10.42.0.103:554/live.sdp</res>
</item>
<item id="12" parentID="1" restricted="1">
<dc:title>Network Camera Stream 2</dc:title>
<upnp:class>object.item.videoItem</upnp:class>
<res protocolInfo="rtsp-rtp-udp:*:video/mpeg4-generic:*" resolution="176x144">rtsp://10.42.0.103:554/live2.sdp</res>
</item>
</DIDL-Lite>
答案 0 :(得分:1)
您可能正在寻找SAX-Parser:
http://developer.android.com/reference/javax/xml/parsers/SAXParser.html
SAXParserFactory factory = SAXParserFactory.newInstance();
SAXParser parser = factory.newSAXParser();
parser.parse(xml, yourXMLHandler);
答案 1 :(得分:0)
好的,谢谢你的帮助。对于这个小文件,SAX在我看来是太多的开销。 使用XMLPullParser会更容易......您不必处理这些事件,并且可以快速获取一些关键字......
http://developer.android.com/reference/org/xmlpull/v1/XmlPullParser.html