【VTD实现XML报文重写】

[java]

  @Test

  public void testOverWrite() throws Exception{

  VTDGen vg = new VTDGen();

  vg.setDoc("<root><item>1</item><item>2</item><item>3</item><item>4</item></root>".getBytes());

  HashMap m = new HashMap();

  m.put("1", "A");

  m.put("2", "B");

  m.put("3", "C");

  m.put("4", "D");

  vg.parse(true);

  VTDNav vn = vg.getNav();

  AutoPilot ap = new AutoPilot(vn);

  XMLModifier xm = new XMLModifier(vn);

  ap.selectXPath("//item");

  while(ap.evalXPath() > -1){

  System.out.println(vn.toString(vn.getText()));

  xm.updateToken(vn.getText(), (String)m.get(vn.toString(vn.getText())));

  }

  ByteArrayOutputStream os = new ByteArrayOutputStream();

  xm.output(os);

  System.out.println(os.toString());

  os.flush();

  os.close();

  }

  @Test

  public void testOverWrite() throws Exception{

  VTDGen vg = new VTDGen();

  vg.setDoc("<root><item>1</item><item>2</item><item>3</item><item>4</item></root>".getBytes());

  HashMap m = new HashMap();

  m.put("1", "A");

  m.put("2", "B");

  m.put("3", "C");

  m.put("4", "D");

  vg.parse(true);

  VTDNav vn = vg.getNav();

  AutoPilot ap = new AutoPilot(vn);

  XMLModifier xm = new XMLModifier(vn);

  ap.selectXPath("//item");

  while(ap.evalXPath() > -1){

  System.out.println(vn.toString(vn.getText()));

  xm.updateToken(vn.getText(), (String)m.get(vn.toString(vn.getText())));

  }

  ByteArrayOutputStream os = new ByteArrayOutputStream();

  xm.output(os);

  System.out.println(os.toString());

  os.flush();

  os.close();

  }

posted @ 2013-08-31 09:25  豆豆逗逗  阅读(221)  评论(0编辑  收藏  举报