JAVA XMLConfiguration解决StringXML及多节点
import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.HierarchicalConfiguration;
import org.apache.commons.configuration.HierarchicalConfiguration.Node;
import org.apache.commons.configuration.XMLConfiguration; public class parseXMDemo { private static String parseMutliLines(HierarchicalConfiguration lineConfig) {
String value="";
Node root = lineConfig.getRoot();
List children = root.getChildren(); int count = 0;
for (int i = 0; i < children.size(); i++) {
Node child = (Node) children.get(i);
if ("point".equals(child.getName())) {
count++;
}
}
for (int i = 0; i < count; i++) {
value += lineConfig.getString("point(" + i + ")[@X]");
value += ",";
value += lineConfig.getString("point(" + i + ")[@Y]");
value += ":";
}
return value;
} public static void main(Stirng[] args) {
String xml =
"<csMsgsReq>" +
" <csMsgReq xsi:type=\"cstypeNotify\">" +
" <authority xsi:type=\"cstypeAuthorityCommon\"/>" +
" <nbase xsi:type=\"cstypeAlarmGeneral\">" +
" <alarmTime>2014-10-09T17:16:54.687</alarmTime>" +
" <TrackLine xsi:type=\"cstypeTrackLineType\" lineLth=\"24\">" +
" <point xsi:type=\"cstypepoint\" X=\"0\" Y=\"0\"/>" +
" <point xsi:type=\"cstypepoint\" X=\"1386\" Y=\"472\"/>" +
" </TrackLine>" +
" </nbase>" +
" </csMsgReq>" +
"</csMsgsReq>";
InputStream in = new ByteArrayInputStream(xml.getBytes());
XMLConfiguration config = new XMLConfiguration();
try {
config.load(in);
String alarmTime = config.getString("csMsgReq.nbase.alarmTime");
HierarchicalConfiguration lineConfig = (HierarchicalConfiguration)config.subset("csMsgReq.nbase.TrackLine");
String trackLine = parseMutliLines(lineConfig);
} catch (ConfigurationException e) {
e.printStackTrace();
}
} }
JAVA XMLConfiguration解决StringXML及多节点的更多相关文章
- paip.java OutOfMemoryError 解决方法o33
paip.java OutOfMemoryError 解决方法o33 java.lang.OutOfMemoryError: Requested # java.lang.OutOfMemoryErro ...
- java中解决组件重叠的问题(例如鼠标移动组件时)
java中解决组件覆盖的问题! 有时候在移动组件的时候会出现两个组件覆盖的情况,但是你想让被覆盖的组件显示出来或者不被覆盖! 在设计GUI时已经可以定义组件的叠放次序了(按摆放组件的先后顺序) ...
- java多线程解决生产者消费者问题
import java.util.ArrayList; import java.util.List; /** * Created by ccc on 16-4-27. */ public class ...
- Java 异常解决之java.lang.IllegalArgumentException: Comparison method violates its general contract!
Java 异常解决 在你的代码前加一句 System.setProperty("java.util.Arrays.useLegacyMergeSort", "true&q ...
- [转]java nio解决半包 粘包问题
java nio解决半包 粘包问题 NIO socket是非阻塞的通讯模式,与IO阻塞式的通讯不同点在于NIO的数据要通过channel放到一个缓存池ByteBuffer中,然后再从这个缓存池中读出数 ...
- jsp页面传输到xxAction.java乱码解决
jsp页面传输到xxAction.java乱码解决:jsp:encodeURI(encodeURI("xx"))java:if(!StringUtils.isBlank(belon ...
- 用eclipse 检索SVN 上 myEclipse 建的web项后,成java项目解决方法
用eclipse 检索SVN 上 myEclipse 建的web项后,成java项目解决方法 在网上找了非常多,都无论用. 说添加.project 文件几个属性.但我发现里面都有,在我这里无论什么用. ...
- INFO hdfs.DFSClient: Exception in createBlockOutputStream java.net解决办法
自己安装好Hadoop2.7.x之后,发现dfs中的/bin/hadoop fs -put命令不能够使用,报错如下: [hadoop@master bin]$ ./hadoop fs -put ../ ...
- Java如何解决脆弱基类(基类被冻结)问题
概述 大多数好的设计者象躲避瘟疫一样来避免使用实现继承(extends 关系).实际上80%的代码应该完全用interfaces写,而不是通过extends.“JAVA设计模式”一书详细阐述了怎样用 ...
随机推荐
- Scrapy源码学习(二)
上次说到scrapy_home/scrapy/commands包下每个模块对应了scrapy命令行中的一个命令,他们都继承自command.py模块中ScrapyCommand这个类,这次就来简单看一 ...
- Java生成唯一GUID UUID
GUID(Global unique identifier)全局唯一标识符,它是由网卡上的标识数字(每个网卡都有唯一的标识号)以及 CPU 时钟的唯一数字生成的的一个 16 字节的二进制值. GUID ...
- 对图片进行各种样式裁对图片进行各种样式裁剪:圆形、星形、心形、花瓣形等剪:圆形、星形、心形、花瓣形等--第三方开源--CustomShapeImageView
CustomShapeImageView在github上的项目主页是:https://github.com/MostafaGazar/CustomShapeImageView 如果仅仅是需要获取圆形. ...
- 解决前端浏览器传JSON对像到服务端后全部变成string类型的方法
这几天公司用nodejs+mongodb来做些东西,UI用的是kendo UI 碰到一个问题: 举个例子var a={"name":"张三","age ...
- How to enables AX email functionality without Outlook
/***************************************************************** (C) Copyright DENTSPLY Internatio ...
- mysql基础三(视图、触发器、函数、存储过程、事务、防注入)
一.视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,并可以将其当作表来使用. 1.创建视图 -格式:CREATE ...
- Windows 8.1 (64bit) 下搭建 Scrapy 0.22 环境
我的Windows 8.1 环境 1.下载安装Python 2.7.6 在Python官方网站中下载Python2.7.6的Windows安装包,根据默认配置安装到C:\Python27目录. 安装完 ...
- MySQL 多实例给root用户创建密码
DB:5.5.14 OS:CentOS 6.3 安装多实例MySQL数据库,安装完成后默认无密码,一次性给所有实例的root账户创建密码: #!/bin/bash for i in {3361..3 ...
- putty工具常见设置
Putty 工具主要是用于在 windows 环境下连接 linux 服务器的一个命令行工具,可以在此客户端中进行编译.svn代码修改 更新 提交等动作.LD主要是用它来干这个的. 工作环境的改变: ...
- 从零开始学ios开发(九):Swapping Views
这篇的内容是切换Views,也是上一篇中提到的第三种当iphone发生旋转后改变布局的方式,先回顾一下上一篇中提到的三种方式 1.使用Autosizing 2.写code 3.重新弄个View,替换原 ...