快速业务通道

JiBX 1.2,第2部分: 从XML模式到Java代码(一) - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-14
uot; price="9.50" id="GC1234905049"/>  <item quantity="1" price="8.95" id="AX9300048820"/> </order>

JiBX 1.2,第2部分: 从XML模式到Java代码(一)(6)

时间:2012-01-14 IBM Dennis Sosnoski

下载包还包括一个简单测试程序,它在本文中显示为清单 4,用于演示如何使用 JiBX 解组 及编组 文档。编组是在内存中生成对象的 XML 表示的过程,可能包括从初始对象链接的对象;解组是编组的反向过程,它将通过 XML 表示在内存中构建一个对象(还有可能是一些链接的对象)。Ant run 目标将执行此测试程序,使用 清单 3 文档作为输入并把编组后的文档副本写到名为 out.xml 的文件中。

清单 4. 测试程序

 
public class Test
{
  /**
   * Unmarshal the sample document from a file, compute and set order total, then
   * marshal it back out to another file.
   *
   * @param args
   */
  public static void main(String[] args) {
    if (args.length < 2) {
      System.out.println("Usage: java -cp ... " +
        "org.jibx.starter.Test in-file out-file");
      System.exit(0);
    }
    try {
 
      // unmarshal customer information from file
      IBindingFactory bfact = BindingDirectory.getFactory(Order.class);
      IUnmarshallingContext uctx = bfact.createUnmarshallingContext();
      FileInputStream in = new FileInputStream(args[0]);
      Order order = (Order)uctx.unmarshalDocument(in, null);
 
      // compute the total amount of the order
      float total = 0.0f;
      for (Iterator<Item> iter = order.getItems().iterator(); iter.hasNext();) {
        Item item = iter.next();
        total += item.getPrice() * item.getQuantity();
      }
      order.setTotal(new Float(total));
 
      // marshal object back out to file (with nice indentation, as UTF-8)
      IMarshallingContext mctx = bfact.createMarshallingContext();
      mctx.setIndent(2);
      FileOutputStream out = new FileOutputStream(args[1]);
      mctx.setOutput(out, null);
      mctx.marshalDocument(order);
      System.out.println("Processed order with " + order.getItems().size() +
        " items and total value " + total);
 
    } catch (FileNotFoundException e) {
      e.printStackTrace();
      System.exit(1);
    } catch (JiBXException e) {
      e.printStackTrace();
      System.exit(1);

    }
  }
}

JiBX 1.2,第2部分: 从XML模式到Java代码(一)(7)

时间:2012-01-14 IBM Dennis Sosnoski

图 3 显示了运行 run 目标时应当会看到的输出:

图 3. Ant 构建 run 任务

JiBX 1.2,第2部分: 从XML模式到Java代码(一) - 编程入门网

这是 第 1 部分 中使用的同一个测试程序,并且同样具有第一部分教程中讨论的限制。就像在第 1 部分中一样,out.xml 文件包含了将解组原始文档获得的订单数据重新编组后生成的输出。

CodeGen 自定义简介

在本节中,您将了解自

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号