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