如何在android中将XML映射到JAVA模型
我正在开发一个android应用程序,我有一些来自HttpResponse的XML格式的数据。我想将这些数据映射到Java模型中。是否有任何通用的方法可以获取Java对象和XML数据,并将XML数据转换为Java模型。因为每次我得到不同web服务的XML时,我都需要编写解析代码 以下代码用于Java,是否有Android的代码如何在android中将XML映射到JAVA模型,android,xml,Android,Xml,我正在开发一个android应用程序,我有一些来自HttpResponse的XML格式的数据。我想将这些数据映射到Java模型中。是否有任何通用的方法可以获取Java对象和XML数据,并将XML数据转换为Java模型。因为每次我得到不同web服务的XML时,我都需要编写解析代码 以下代码用于Java,是否有Android的代码 File file = new File("question.xml"); JAXBContext jaxbContext = JAXBContext.newInst
File file = new File("question.xml");
JAXBContext jaxbContext = JAXBContext.newInstance(Question.class);
Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
Question que= (Question) jaxbUnmarshaller.unmarshal(file);
System.out.println(que.getId()+" "+que.getQuestionname());
System.out.println("Answers:");
List<Answer> list=que.getAnswers();
for(Answer ans:list)
System.out.println(ans.getId()+" "+ans.getAnswername()+" "+ans.getPostedby());
File File=new文件(“question.xml”);
JAXBContext JAXBContext=JAXBContext.newInstance(Question.class);
解组器jaxbUnmarshaller=jaxbContext.createUnmarshaller();
Question que=(Question)jaxbUnmarshaller.unmarshal(文件);
System.out.println(que.getId()+“”+que.getQuestionname());
System.out.println(“答案:”);
List=que.getAnswers();
(答案:列表)
System.out.println(ans.getId()+“”+ans.getAnswername()+“”+ans.getPostedby());
您可以使用“”。您可以使用JSON解析器而不是XML。用Java和Javascript编写代码很容易。这是一个很好的教程,用于将XML
映射到POJO(普通旧Java对象)
请完成上述链接中提供的演示,您的问题将得到解决。
我希望这有帮助。您可以使用XML反序列化。它有很好的文档记录,并且有一些例子可以供您参考 用法:
public static class SimpleModel {
private String name;
private String description;
public String getName() { return name; }
public String getDescription() { return description; }
}
public void simpleTest() {
XmlParserCreator parserCreator = new XmlParserCreator() {
@Override
public XmlPullParser createParser() {
try {
return XmlPullParserFactory.newInstance().newPullParser();
} catch (Exception e) {
throw new RuntimeException(e);
}
}
};
GsonXml gsonXml = new GsonXmlBuilder()
.setXmlParserCreator(parserCreator)
.create();
String xml = "<model><name>my name</name><description>my description</description></model>";
SimpleModel model = gsonXml.fromXml(xml, SimpleModel.class);
assertEquals("my name", model.getName());
assertEquals("my description", model.getDescription());
}
但我在HttpResponse中有xml格式的数据。我没有使用jsone datatyr来使用JSON解析器…JSON解析器用于将JSON数据转换为java模型,但我有xml dataconvert xml to JSON数据…这应该是一个注释!我收到一个异常com.thoughtworks.xstream.mapper.CannotResolveClassException请共享您的代码和错误日志,以便e能够帮助您解决它。
<person dob="01.01.1973" gender="male">
<name>John</name>
Likes traveling.
</person>
public class Person {
@SerializedName("@dob")
private String dob;
@SerializedName("@gender")
private String gender;
private String name;
@SerializedName("$")
private String description;
// ...
}