XmlPullParser解析xml文档

wade008 2017-08-24 02:20:18
public class PullScenarioParser implements ScenarioParser {

@Override
public Vector<Scenario> parse(InputStream is) throws Exception {

Vector<Scenario> scenarioVector = null;
Scenario scenario = null;

XmlPullParser parser = Xml.newPullParser();
parser.setInput(is, "UTF-8");

int eventType = parser.getEventType();
while (eventType != XmlPullParser.END_DOCUMENT) {
switch (eventType) {
case XmlPullParser.START_DOCUMENT:
scenarioVector = new Vector<Scenario>();
break;
case XmlPullParser.START_TAG:
if (parser.getName().equals("ScenarioInfo")) {
scenario = new Scenario();
}
else if (parser.getName().equals("ID")) {
eventType = parser.next();
scenario.setId(parser.getText());
}
else if (parser.getName().equals("Name")) {
eventType = parser.next();
scenario.setName(parser.getText());
}
else if (parser.getName().equals("Picture")) {
eventType = parser.next();
scenario.setPicture(parser.getText());
}
else if (parser.getName().equals("Value")) {
eventType = parser.next();
scenario.setValue(Boolean.parseBoolean(parser.getText()));
}
else if (parser.getName().equals("Visible")) {
eventType = parser.next();
scenario.setVisible(Boolean.parseBoolean(parser.getText()));
}
else if(parser.getName().equals("LightList")){
eventType = parser.next();
Log.e("LightList", parser.nextText());
//如何解析LightList下的Light数据
}

break;
case XmlPullParser.END_TAG:
if (parser.getName().equals("ScenarioInfo")) {
scenarioVector.add(scenario);
scenario = null;
}
break;
}
eventType = parser.next();
}

return scenarioVector;
}
}



public class Scenario implements Serializable {

private String id = "uuid";
private String name = "Scenes";
private String picture = "picture";
private boolean value = false;
private boolean visible = true;
private Vector<Light> lightVector = new Vector<>();

public String getId() {
return id;
}

public void setId(String id) {
this.id = id;
}

public String getName(){
return name;
}

public void setName(String name){
this.name = name;
}

public String getPicture(){
return picture;
}

public void setPicture(String picture){
this.picture = picture;
}

public boolean getValue(){
return value;
}

public void setValue(boolean value){
this.value = value;
}

public boolean getVisible(){
return visible;
}

public void setVisible(boolean visible){
this.visible = visible;
}

public Vector<Light> getLightVector() {
return lightVector;
}

public void setLightVector(Vector<Light> lightVector) {
this.lightVector = lightVector;
}

@Override
public String toString() {

return "id=" + id + ",name=" + name + ",picture=" + picture + ",value=" + value + ",visible=" + visible;
}
}


public class Light {

private String id = "000000";
private boolean status = false;
private String name = "light";
private int brightness = 3;
private int color = 2;
private boolean check = false;

public String getId() {
return id;
}

public void setId(String id) {
this.id = id;
}

public boolean getStatus() {
return status;
}

public void setStatus(boolean status) {
this.status = status;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public int getBrightness() {
return brightness;
}

public void setBrightness(int brightness) {
this.brightness = brightness;
}

public int getColor() {
return color;
}

public void setColor(int color) {
this.color = color;
}

public boolean getCheck() {
return check;
}

public void setCheck(boolean check) {
this.check = check;
}

@Override
public String toString() {

return "id=" + id + ",status=" + status + ",name=" + name + ",brightness=" + brightness + ",color=" + color + ",check=" + check;
}
}



<ScenarioList>
<ScenarioInfo>
<ID>tMZI1Org</ID>
<Name>a</Name>
<Picture>Away</Picture>
<Value>false</Value>
<Visible>true</Visible>
<LightList>
<Light>
<LightID>123456</LightID>
<LightStatus>false</LightStatus>
<LightName>light1</LightName>
<LightBrightness>2</LightBrightness>
<LightColor>3</LightColor>
<LightCheck>false</LightCheck>
</Light>
<Light>
<LightID>654321</LightID>
<LightStatus>false</LightStatus>
<LightName>light2</LightName>
<LightBrightness>3</LightBrightness>
<LightColor>4</LightColor>
<LightCheck>true</LightCheck>
</Light>
</LightList>
</ScenarioInfo>
</ScenarioList>


如上的XML文件,如何解析?现在LightList不知怎么解析
...全文
157 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
wade008 2017-08-29
  • 打赏
  • 举报
回复
没有人顶呀,虽然已解决

50,545

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧