NanoXML组件解析xml简单例子

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
简介:

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

 }

}

目录
相关文章
|
3月前
|
前端开发 JavaScript
React 步骤条组件 Stepper 深入解析与常见问题
步骤条组件是构建多步骤表单或流程时的有力工具,帮助用户了解进度并导航。本文介绍了在React中实现简单步骤条的方法,包括基本结构、状态管理、样式处理及常见问题解决策略,如状态管理库的使用、自定义Hook的提取和CSS Modules的应用,以确保组件的健壮性和可维护性。
89 17
|
3月前
|
前端开发 UED
React 文本区域组件 Textarea:深入解析与优化
本文介绍了 React 中 Textarea 组件的基础用法、常见问题及优化方法,包括状态绑定、初始值设置、样式自定义、性能优化和跨浏览器兼容性处理,并提供了代码案例。
115 8
|
4月前
|
前端开发 JavaScript 开发者
揭秘前端高手的秘密武器:深度解析递归组件与动态组件的奥妙,让你代码效率翻倍!
【10月更文挑战第23天】在Web开发中,组件化已成为主流。本文深入探讨了递归组件与动态组件的概念、应用及实现方式。递归组件通过在组件内部调用自身,适用于处理层级结构数据,如菜单和树形控件。动态组件则根据数据变化动态切换组件显示,适用于不同业务逻辑下的组件展示。通过示例,展示了这两种组件的实现方法及其在实际开发中的应用价值。
67 1
|
5月前
|
存储 JavaScript 前端开发
Vue3权限控制全攻略:路由与组件层面的用户角色与权限管理方法深度解析
Vue3权限控制全攻略:路由与组件层面的用户角色与权限管理方法深度解析
471 2
|
5月前
|
机器学习/深度学习 编解码 算法
深入解析MaxFrame:关键技术组件及其对视频体验的影响
【10月更文挑战第12天】随着流媒体服务和高清视频内容的普及,用户对于视频质量的要求越来越高。为了满足这些需求,许多技术被开发出来以提升视频播放的质量。其中,MaxFrame是一种旨在通过一系列先进的图像处理算法来优化视频帧的技术。本文将深入探讨构成MaxFrame的核心组件,包括运动估计、超分辨率重建以及时间插值算法,并讨论这些技术如何协同工作以改善视频播放效果。
72 1
|
5月前
|
XML Web App开发 JavaScript
XML DOM 解析器
XML DOM 解析器
|
4月前
|
机器学习/深度学习 自然语言处理 数据管理
GraphRAG核心组件解析:图结构与检索增强生成
【10月更文挑战第28天】在当今数据科学领域,自然语言处理(NLP)和图数据管理技术的发展日新月异。GraphRAG(Graph Retrieval-Augmented Generation)作为一种结合了图结构和检索增强生成的创新方法,已经在多个应用场景中展现出巨大的潜力。作为一名数据科学家,我对GraphRAG的核心组件进行了深入研究,并在此分享我的理解和实践经验。
156 0
|
5月前
|
XML 前端开发 Java
讲解SSM的xml文件
本文详细介绍了SSM框架中的xml配置文件,包括springMVC.xml和applicationContext.xml,涉及组件扫描、数据源配置、事务管理、MyBatis集成以及Spring MVC的视图解析器配置。
122 1
|
7月前
|
XML Java 数据格式
Spring5入门到实战------7、IOC容器-Bean管理XML方式(外部属性文件)
这篇文章是Spring5框架的实战教程,主要介绍了如何在Spring的IOC容器中通过XML配置方式使用外部属性文件来管理Bean,特别是数据库连接池的配置。文章详细讲解了创建属性文件、引入属性文件到Spring配置、以及如何使用属性占位符来引用属性文件中的值。
Spring5入门到实战------7、IOC容器-Bean管理XML方式(外部属性文件)
|
4月前
|
XML Android开发 数据格式
Eclipse 创建 XML 文件
Eclipse 创建 XML 文件
56 2

推荐镜像

更多