天天看點

NanoXML元件解析xml簡單例子

nanoxml元件解析xml簡單例子

 package com.aspboy.base.action.util;

import java.util.iterator;

import java.util.vector;

import net.n3.nanoxml.ixmlelement;

import net.n3.nanoxml.ixmlparser;

import net.n3.nanoxml.ixmlreader;

import net.n3.nanoxml.stdxmlreader;

import net.n3.nanoxml.xmlparserfactory;

public class nanoxmltest {

 public static void main(string[] args) {

  // 解析

  //string body = "<m a='1' b='2'><a id='vvv'>111111</a><b>222222</b></m>";

  //string body = "<m a='1' b='2'><a id='1'>111111</a><a id='2'>222222</a><b id='32222'>333333</b></m>";

  string body = "<m a='1' b='2'><a id='1'>111111</a><c id='2'>222222</c><b id='32222'>333333</b></m>";

  ixmlparser xmlparser = null;

  ixmlreader xmlreader = null;

  try {

   long a = system.currenttimemillis();

   xmlparser = xmlparserfactory.createdefaultxmlparser();

   system.out.println(system.currenttimemillis() - a + "ms");// 1

   a = system.currenttimemillis();

   xmlreader = stdxmlreader.stringreader(body);

   xmlparser.setreader(xmlreader);

   ixmlelement header = (ixmlelement) xmlparser.parse();

   //ixmlelement info = header.getfirstchildnamed("m");

   //system.out.println(info.getattribute("a", ""));

   system.out.println(header.getattribute("a", ""));

   system.out.println(header.getattribute("b", ""));

   system.out.println(header.getcontent());

   //system.out.println(header.getfirstchildnamed("a").getcontent());

   system.out.println(header.getfirstchildnamed("b").getcontent());

   ixmlelement node1 = header.getfirstchildnamed("b");

   system.out.println(node1.getattribute("id", ""));

   //system.out.println(header.getchildrencount());

   vector v=header.getchildrennamed("a");

   for (int i=0;i<v.size();i++)

   {

    ixmlelement ai=(ixmlelement)v.elementat(i);

    long id = ai.getattribute("id", 0);

    system.out.println("id="+id+"=="+ai.getcontent());

   }

   //ixmlelement node = header.getfirstchildnamed("a");

   iterator it = header.getchildren().iterator();

   while (it.hasnext())

    ixmlelement inode = (ixmlelement) it.next();

    long id = inode.getattribute("id", 0);

    system.out.println("id="+id);

  } catch (exception e) {

   e.printstacktrace();

  }

 }

}