Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将XML转换为Java对象_Java_Xml_Converter_Calculator - Fatal编程技术网

将XML转换为Java对象

将XML转换为Java对象,java,xml,converter,calculator,Java,Xml,Converter,Calculator,我只是想知道是否有人可以向我展示一种从这个示例将XML文件转换为Java对象的快速方法: - <VM-DataCalculator> - <device name="Blackberry" fname="BlackBerry"> - <dataCategory> <name>email</name> <datarate>0.002</datarate> <max>300</max

我只是想知道是否有人可以向我展示一种从这个示例将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>
-
- 
- 
电子邮件
0.002
300
12
月
- 
电子邮件附件
0.2
100
10
月
完整文件可在以下位置获得:


如果有任何帮助,我们将不胜感激。

除了Java框架之外,不使用任何东西的标准解决方案将非常有用。有

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");

你需要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的DOM模型吗?请阅读以下内容:重复:
 VMDataCalculator c = JAXB.unmarshal(new File("1.xml"), VMDataCalculator.class);