我正在尝试解析多个属性但没有成功。
我很好地解析了这些属性:
<id>..</id>
<published>..</published>
<content>..</content>
<title>..</title>
我解析的 xml 图像和我需要的数据: 但我需要获取带有标签的属性:
<media:thumbnail url='http://ww.../> </media:thumbnail>
<media:content url='http://ww.../> </<media:content>
我在某处读到 sax parse 不支持这样做,我当时不明白这是真的。
我使用的代码是执行解析:
public class YoutubePARSER {
private static final String LOGTAG = "LogsAndroid";
private ArrayList<YoutubeVO> videos = new ArrayList<YoutubeVO>();
private YoutubeVO video;
private URL rssUrl;
final String myString = "http://www.w3.org/2005/Atom";
SAXParserFactory parser = SAXParserFactory.newInstance();
public YoutubePARSER(String url)
{
try
{
this.rssUrl = new URL(url);
}
catch (MalformedURLException e)
{
throw new RuntimeException(e);
}
}
public ArrayList<YoutubeVO> parse()
{
RootElement root = new RootElement(myString, "feed");
Element itemPlace = root.getChild(myString, "entry");
itemPlace.setStartElementListener(new StartElementListener(){
public void start(Attributes attrs){
video = new YoutubeVO();
}
});
itemPlace.setEndElementListener(new EndElementListener(){
public void end() {
videos.add(video);
}
});
itemPlace.getChild(myString, "id").setEndTextElementListener(
new EndTextElementListener(){
public void end(String body) {
video.setId(body);
}
});
itemPlace.getChild(myString, "published").setEndTextElementListener(
new EndTextElementListener(){
public void end(String body) {
video.setPublished(body);
}
});
我尝试通过以下方式解析该字段,但没有成功:
itemPlace.getChild(myString, "media:thumbnail").setEndTextElementListener(
itemPlace.getChild(myString, "media").setEndTextElementListener(
itemPlace.getChild(myString, "thumbnail").setEndTextElementListener(
itemPlace.getChild(myString, "media:thumbnail url").setEndTextElementListener(
有什么解决办法??
谢谢!