我的XML文件如下:(部分代码省略了)
<?xml version="1.0" encoding="utf-8"?>
<Playlist>
<List start = “08:00:00” end=”10:00:00”>
<Program type=”P+V”>
<Media type =”P” x=”0” y=”0” w=”100” h=”100”>
<Clip time=”5”>1.jpg </Clip>
<Clip time=”5”>2.jpg</Clip>
</ Media >
< Media type=”V” x=”100” y=”0” w=”100” h=”100”>
<Clip>video/1.avi</Clip>
<Clip>video/2.avi </Clip>
</ Media >
</Program><Program type=”P+M” time=”M”>
< Media type=”P” x=”0” y=”0” w=”100” h=”100”>
<Clip time=”5”> photo/1.jpg</Clip>
<Clip time=”5”> photo/2.jpg</Clip>
</ Media >
< Media type=”M” >
<Clip> music/1.mp3 </Clip>
<Clip> music/2.mp3</Clip>
</ Media >
</Program>
</List>
<List>
...
</List>
</Playlist>而网上看到的大多数是类似于下面的XML文件的SAX解析方法
<?xml version="1.0" encoding="utf-8"?>
<stundets>
<student id="123456">
<name>张三</name>
<speciality>计算机</speciality>
</student>
<student id="111111">
...
</student>
</stundets>
我想问的是,我的XML文件解析后的数据能否用ArrayList<Playlist>存储,如果能,那么Playlist类该如何写呢;如果不能,那么该怎么办呢???
谢谢
<?xml version="1.0" encoding="utf-8"?>
<Playlist>
<List start = “08:00:00” end=”10:00:00”>
<Program type=”P+V”>
<Media type =”P” x=”0” y=”0” w=”100” h=”100”>
<Clip time=”5”>1.jpg </Clip>
<Clip time=”5”>2.jpg</Clip>
</ Media >
< Media type=”V” x=”100” y=”0” w=”100” h=”100”>
<Clip>video/1.avi</Clip>
<Clip>video/2.avi </Clip>
</ Media >
</Program><Program type=”P+M” time=”M”>
< Media type=”P” x=”0” y=”0” w=”100” h=”100”>
<Clip time=”5”> photo/1.jpg</Clip>
<Clip time=”5”> photo/2.jpg</Clip>
</ Media >
< Media type=”M” >
<Clip> music/1.mp3 </Clip>
<Clip> music/2.mp3</Clip>
</ Media >
</Program>
</List>
<List>
...
</List>
</Playlist>而网上看到的大多数是类似于下面的XML文件的SAX解析方法
<?xml version="1.0" encoding="utf-8"?>
<stundets>
<student id="123456">
<name>张三</name>
<speciality>计算机</speciality>
</student>
<student id="111111">
...
</student>
</stundets>
我想问的是,我的XML文件解析后的数据能否用ArrayList<Playlist>存储,如果能,那么Playlist类该如何写呢;如果不能,那么该怎么办呢???
谢谢
PlayList写成一个JavaBean的结构就可以了,里面的属性就是xml文档中一个成员的属性,但是记得里面的Media,Clip等是不能使用一个简单属性表示的,那么,Media也应该是一个类,而PlayList有Media这个属性。
不过我不知道JavaBean是怎么回事,所以再问一下,是不是要定义List,Program,Media和Clip四个类??
还有就是,比如,在Media类中是否需要定义两个Clip类型的引用变量???
谢谢
int id;
String name;
String speciality;public void setId(ind id){
this.id=id;
}
public int getId(){
return id;
}
public void setName(String name){
this.name=name;
}
public String getName(){
return name;
}
public void setSpecality(String specality){
this.specality=specality;
}
public String getSpecality(){
return specality;
}
或者List,或者Program类??
不知道Media类中是否需要定义两个Clip类型的引用变量,还是定义成数组类型呢??
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;import com.Model.Mp3Info;public class Mp3ListContentHandler extends DefaultHandler {
private List<Mp3Info> infos = null;
private Mp3Info mp3info = null;
private String tagname; @Override
public void characters(char[] ch, int start, int length)
throws SAXException {
String temp=new String(ch,start,length);
if(tagname.equals("id")){
mp3info.setId(temp);
}else if(tagname.equals("mp3.name")){
mp3info.setMp3name(temp);
}else if(tagname.equals("mp3.size")){
mp3info.setMp3size(temp);
}
} @Override
public void endDocument() throws SAXException {
// TODO Auto-generated method stub
super.endDocument();
} public Mp3ListContentHandler(List<Mp3Info> infos) {
super();
this.infos = infos;
} public List<Mp3Info> getInfos() {
return infos;
} public void setInfos(List<Mp3Info> infos) {
this.infos = infos;
} @Override
public void endElement(String uri, String localName, String qName)
throws SAXException {
if(qName.equals("resource")){
infos.add(mp3info);
}
tagname="";
} @Override
public void startDocument() throws SAXException {
super.startDocument();
} @Override
public void startElement(String uri, String localName, String qName,
Attributes attributes) throws SAXException {
this.tagname=localName;
if(tagname.equals("resource")){
mp3info=new Mp3Info();
}
}}
package com.Model;public class Mp3Info {
public Mp3Info(String id, String mp3name, String mp3size) {
super();
this.id = id;
this.mp3name = mp3name;
this.mp3size = mp3size;
} public Mp3Info() {
super();
} @Override
public String toString() {
return "Mp3Info [id=" + id + ", mp3name=" + mp3name + ", mp3size="
+ mp3size + "]";
} public String getId() {
return id;
} public void setId(String id) {
this.id = id;
} public String getMp3name() {
return mp3name;
} public void setMp3name(String mp3name) {
this.mp3name = mp3name;
} public String getMp3size() {
return mp3size;
} public void setMp3size(String mp3size) {
this.mp3size = mp3size;
} private String id;
private String mp3name;
private String mp3size;}
同样非常感谢你
<HeBei>
<Sjz>
<ViewPoint>
<Name>西苑亭水湾</Name>
<ImageUrl>/hebei/Sjz/xiyuantingshuiwan.jpg</ImageUrl>
<VedioUrl>http://61.55.166.72/hebei/Sjz/LYSJZ0307_xiyuan.3gp</VedioUrl>
</ViewPoint>
</Sjz>
- <Ts>
- <ViewPoint>
<Name>李大钊纪念馆</Name>
<ImageUrl />
<VedioUrl>http://61.55.166.72/hebei/Ts/LYTS0301_lidazhao.3gp</VedioUrl>
</ViewPoint>
</Ts>这用的XML 又该如何解析 拿到Sjz 数据Ts不要 是不是 改star和end?