-1

このサンプルから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

どんな助けでもいただければ幸いです。

4

2 に答える 2

2

Java フレームワークだけを使用する標準的な解決策は、JAXPを使用することです。他にもたくさんの方法があります。

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");
于 2013-01-08T17:10:33.173 に答える
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

于 2013-01-08T17:38:56.317 に答える