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设计模式”一书详细阐述了怎样用 ...
随机推荐
- 用泛型的IEqualityComparer<T>接口去重复项
提供者:porschev 题目:下列数据放在一个List中,当ID和Name都相同时,去掉重复数据 ID Name 1 张三 1 李三 1 小伟 1 李三 2 李四 2 李武 ----- ...
- vim配置python开发环境
vim配置python开发环境 一.安装vim sudo apt-get install vim 二.vim基础配置 #Centos6.5 /usr/share/vim/vim72 vi /etc/v ...
- Android中表示尺寸的六种度量单位
本文章来自:http://my.eoe.cn/lakeside/archive/4831.html in:Inches - 表示英寸,是屏幕的物理尺寸,每英寸等于2.54厘米.平时说手机屏幕4(英)寸 ...
- FAN_int2ExcelColChar functions
static void FAN_int2ExcelColChar(Args _args) { Dialog dlg = new dialog("please enter int number ...
- DirectoryEntry配置IIS出现ADSI Error:未知错误(0x80005000)
目录 问题案例 原因分析 解决问题 总结 问题案例 DirectoryEntry配置IIS,在IIS6.0下运转正常,但IIS7.0下运转会出错: System.DirectoryServices.D ...
- Jackson怎样转换这样的字符串? String jsonStr = "{dataType:'Custom',regexp:'t\\d+',msg:'输入不正确'}";
字符串 String jsonStr = "{dataType:'Custom',regexp:'t\\d+',msg:'输入不正确'}"; 实体 package com.asia ...
- 什么是Hadoop,怎样学习Hadoop
Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS.HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上:而且它 ...
- c++线程传参问题
std::thread可以和任何可调用类型一起工作,可调用对象和函数带有参数时,可以简单地将参数传递给std::thread的构造函数 例如: #include<iostream> #in ...
- Spiral Matrix
Spiral Matrix Given a matrix of m x n elements (m rows, n columns), return all elements of the matri ...
- LoadRunner 学习笔记(1)性能测试常见术语
并发用户数据:与服务器进行交互的在线用户数量 请求响应时间:从Client端发出请求到得到响应的整个时间 一般包括网络响应时间 + server的响应时间 事务请求响应时间:完成这个事务所用的时间 这 ...