NanoXML组件解析xml实例
来源:互联网 发布:网络病毒 应急 演练 编辑:程序博客网 时间:2024/05/29 15:15
NanoXML组件解析xml实例:
noaoxml组件对xml格式的字符串解析,效率很高
代码如下:
package com.yanek.demo.xml.test;
import java.util.Vector;
import javolution.context.ObjectFactory;
import net.n3.nanoxml.IXMLElement;
import net.n3.nanoxml.IXMLParser;
import net.n3.nanoxml.IXMLReader;
import net.n3.nanoxml.StdXMLReader;
import net.n3.nanoxml.XMLException;
import net.n3.nanoxml.XMLParserFactory;
import org.apache.log4j.Logger;
public class NanoXMLTest {
private static Logger logger = Logger
.getLogger(NanoXMLTest.class.getName());
/**
* @param args
*/
public static void main(String[] args) {
String config = "<actions id=/"123/" name=/"test/"><action path=/"/test/" class=/"com.mystruts.demo.LoginAction/"><forward name=/"success/" url=/"hello.jsp/"/><forward name=/"fail/" url=/"fail.jsp/"/></action><action path=/"/user/" class=/"com.mystruts.demo.UserAction/"><forward name=/"success/" url=/"list.jsp/"/><forward name=/"fail/" url=/"fail.jsp/"/></action></actions>";
IXMLParser xmlParser = null;
IXMLReader xmlReader = null;
long a = System.currentTimeMillis();
xmlParser = NanoXMLTest.XMLPARSER_FACTORY.object();
xmlReader = StdXMLReader.stringReader(config);
xmlParser.setReader(xmlReader);
try {
IXMLElement root = (IXMLElement)xmlParser.parse();
System.out.println(root.getAttribute("id", ""));
System.out.println(root.getAttribute("name", ""));
Vector actions= root.getChildrenNamed("action");
for (int i=0;i<actions.size();i++)
{
IXMLElement action = (IXMLElement)actions.elementAt(i);
System.out.println(action.getAttribute("path", ""));
System.out.println(action.getAttribute("class", ""));
Vector forwards=action.getChildrenNamed("forward");
for (int j=0;j<actions.size();j++)
{
IXMLElement forward = (IXMLElement)forwards.elementAt(j);
System.out.println(forward.getAttribute("name", ""));
System.out.println(forward.getAttribute("url", ""));
}
}
} catch (XMLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static ObjectFactory<IXMLParser> XMLPARSER_FACTORY = new ObjectFactory<IXMLParser>() {
protected IXMLParser create() {
try {
return XMLParserFactory.createDefaultXMLParser();
} catch (ClassNotFoundException e) {
logger.error(e);
} catch (InstantiationException e) {
logger.error(e);
} catch (IllegalAccessException e) {
logger.error(e);
}
return null;
}
};
}
输出:
123
test
/test
com.mystruts.demo.LoginAction
success
hello.jsp
fail
fail.jsp
/user
com.mystruts.demo.UserAction
success
list.jsp
fail
fail.jsp
- NanoXML组件解析xml实例
- NanoXML组件解析xml简单例子
- 浅谈J2ME中XML被第三方API NanoXML解析
- NanoXML文法解析器
- w3c.dom组件xml解析实例
- w3c.dom组件xml解析实例
- 组件通信实例解析
- XML实例解析1
- 解析xml文件实例
- java解析xml实例
- sax解析xml实例
- jom4j解析xml实例
- JAVA解析Xml实例
- Xml-Sax解析实例
- 解析XML实例
- sax 解析xml实例
- xml解析实例
- dom4j解析xml实例
- S3C6410的DRAM控制器
- asp.net c# 导出Excel WEB
- prim
- Java和js中的boolean, split ,substring
- 最小生成树Prim算法
- NanoXML组件解析xml实例
- loadrunner常用命令
- PHP 创建文件、创建目录和遍历目录文件
- 动态数组
- [转载] 跟我一起写 Makefile
- 引用:jspSmartUpload上传下载全攻略
- select控件
- 小知识
- JAVA 的MD5加密算法源代码