NanoXML组件解析xml实例

本文涉及的产品
云解析DNS-重点域名监控,免费拨测 20万次(价值200元)
简介:

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

 

目录
相关文章
|
2月前
|
XML 数据采集 API
用Lxml高效解析XML格式数据:以天气API为例
免费Python教程:实战解析中国天气网XML数据,详解Lxml库高效解析技巧、XPath用法、流式处理大文件及IP封禁应对策略,助你构建稳定数据采集系统。
175 0
|
9月前
|
存储 Java 文件存储
微服务——SpringBoot使用归纳——Spring Boot使用slf4j进行日志记录—— logback.xml 配置文件解析
本文解析了 `logback.xml` 配置文件的详细内容,包括日志输出格式、存储路径、控制台输出及日志级别等关键配置。通过定义 `LOG_PATTERN` 和 `FILE_PATH`,设置日志格式与存储路径;利用 `&lt;appender&gt;` 节点配置控制台和文件输出,支持日志滚动策略(如文件大小限制和保存时长);最后通过 `&lt;logger&gt;` 和 `&lt;root&gt;` 定义日志级别与输出方式。此配置适用于精细化管理日志输出,满足不同场景需求。
2147 1
|
9月前
|
存储 缓存 负载均衡
阿里云服务器实例选择指南:热门实例性能、适用场景解析对比参考
2025年,在阿里云的活动中,主售的云服务器实例规格除了轻量应用服务器之外,还有经济型e、通用算力型u1、计算型c8i、通用型g8i、计算型c7、计算型c8y、通用型g7、通用型g8y、内存型r7、内存型r8y等,以满足不同用户的需求。然而,面对众多实例规格,用户往往感到困惑,不知道如何选择。本文旨在全面解析阿里云服务器实例的各种类型,包括经济型、通用算力型、计算型、通用型和内存型等,以供参考和选择。
|
12月前
|
前端开发 JavaScript
React 步骤条组件 Stepper 深入解析与常见问题
步骤条组件是构建多步骤表单或流程时的有力工具,帮助用户了解进度并导航。本文介绍了在React中实现简单步骤条的方法,包括基本结构、状态管理、样式处理及常见问题解决策略,如状态管理库的使用、自定义Hook的提取和CSS Modules的应用,以确保组件的健壮性和可维护性。
277 17
|
9月前
|
XML JavaScript Android开发
【Android】网络技术知识总结之WebView,HttpURLConnection,OKHttp,XML的pull解析方式
本文总结了Android中几种常用的网络技术,包括WebView、HttpURLConnection、OKHttp和XML的Pull解析方式。每种技术都有其独特的特点和适用场景。理解并熟练运用这些技术,可以帮助开发者构建高效、可靠的网络应用程序。通过示例代码和详细解释,本文为开发者提供了实用的参考和指导。
307 15
|
9月前
|
存储 机器学习/深度学习 人工智能
阿里云服务器第八代通用型g8i实例评测:性能与适用场景解析
阿里云服务器通用型g8i实例怎么样?g8i实例采用CIPU+飞天技术架构,并搭载最新的Intel 第五代至强可扩展处理器(代号EMR),不仅性能得到大幅提升,同时还拥有AMX加持的AI能力增强,以及全球范围内率先支持的TDX机密虚拟机能力。这些特性使得g8i实例在AI增强和全面安全防护两大方面表现出色,尤其适用于在线音视频及AI相关应用。本文将深入探讨g8i实例的产品特性、优势、适用场景及规格族,以帮助您更好地了解这款产品,以供参考和选择。
|
11月前
|
存储 运维 资源调度
阿里云服务器经济型e实例解析:性能、稳定性与兼顾成本
阿里云经济型e云服务器以其高性价比、稳定可靠的性能以及灵活多样的配置选项,成为了众多企业在搭建官网时的首选。那么,阿里云经济型e云服务器究竟怎么样?它是否能够满足企业官网的搭建需求?本文将从性能表现、稳定性与可靠性、成本考虑等多个方面对阿里云经济型e云服务器进行深入剖析,以供大家参考选择。
668 37
|
9月前
|
索引
【Flutter 开发必备】AzListView 组件全解析,打造丝滑索引列表!
在 Flutter 开发中,AzListView 是实现字母索引分类列表的理想选择。它支持 A-Z 快速跳转、悬浮分组标题、自定义 UI 和高效性能,适用于通讯录、城市选择等场景。本文将详细解析 AzListView 的核心参数和实战示例,助你轻松实现流畅的索引列表。
412 7
|
11月前
|
存储 Java 计算机视觉
Java二维数组的使用技巧与实例解析
本文详细介绍了Java中二维数组的使用方法
380 15
|
12月前
|
数据挖掘 vr&ar C++
让UE自动运行Python脚本:实现与实例解析
本文介绍如何配置Unreal Engine(UE)以自动运行Python脚本,提高开发效率。通过安装Python、配置UE环境及使用第三方插件,实现Python与UE的集成。结合蓝图和C++示例,展示自动化任务处理、关卡生成及数据分析等应用场景。
1152 5

推荐镜像

更多
  • DNS