当前位置:编程学习 > XML/UML >>

VTD实现XML报文重写

    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();
 }

 

补充:软件开发 , Java ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,