我只是想知道是否有人可以通过此示例向我展示将XML文件转换为Java对象的快速方法:
- <VM-DataCalculator>
- <device name="Blackberry" fname="BlackBerry">
- <dataCategory>
<name>email</name>
<datarate>0.002</datarate>
<max>300</max>
<percent>12</percent>
<timeunit>month</timeunit>
</dataCategory>
- <dataCategory>
<name>emailAttachment</name>
<datarate>0.2</datarate>
<max>100</max>
<percent>10</percent>
<timeunit>month</timeunit>
</dataCategory>
此处提供完整档案:http://www.virginmobile.ca/en/catalogue/VMDataCalculator.xml
任何帮助都将不胜感激。
答案 0 :(得分:2)
标准解决方案只使用Java框架,而是使用JAXP。有numerous other ways。
JAXP有点臃肿,要将一些XML解析为DOM,你必须执行以下操作:
DocumentBuilderFactory dbfactory = DocumentBuilderFactory.newInstance();
dbfactory.setNamespaceAware(true);
DocumentBuilder domparser = dbfactory.newDocumentBuilder();
Document doc = domparser.parse("http://www.virginmobile.ca/en/catalogue/VMDataCalculator.xml");
答案 1 :(得分:2)
你需要JAXB。这基本上就是它的工作原理,你创建模型类
@XmlRootElement(name="VM-DataCalculator")
class VMDataCalculator {
@XmlElement(name = "device")
List<Device> devices;
}
@XmlRootElement
class Device {
@XmlElement(name = "dataCategory")
List<DataCategory> dataCategories;
}
@XmlRootElement
class DataCategory {
@XmlElement
String name;
....
}
并解组你的xml
VMDataCalculator c = JAXB.unmarshal(new File("1.xml"), VMDataCalculator.class);
此处有更多详情http://docs.oracle.com/javase/tutorial/jaxb/intro/index.html