try {
InputStream is = new ByteArrayInputStream(xml.getBytes("GBK"));
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
dbf.setIgnoringElementContentWhitespace(true);
DocumentBuilder db = null;
db = dbf.newDocumentBuilder();
Document doc = db.parse(is);
} catch (Exception ex) {
ex.printStackTrace();
}
另一种读取方式:
private static Map getWholeXMLKeyValue(String file) {
Map sqlMap = new HashMap();
try {
Document document = parse(file);
Element root = document.getRootElement();
// 遍歷根節點(sql_config)的所有子節點
for (Iterator iter = root.elementIterator(); iter.hasNext();) {
Element element = (Element) iter.next();
// 遍歷sqls節點的的所有子節點
for (Iterator iterInner = element.elementIterator(); iterInner.hasNext();) {
Element elementInner = (Element) iterInner.next();
// 遍歷(domestic...)等節點的的所有子節點,并取得其鍵值對
for (Iterator iterSub = elementInner.elementIterator(); iterSub.hasNext();) {
Element innerSub = (Element) iterSub.next();
sqlMap.put(element.getName() + "." + elementInner.getName() + "." + innerSub.getName(), innerSub.getStringValue());
}
}
}
} catch (DocumentException ex) {
log.error("The resource file(" + file.toString() + ") was not found. ", ex);
}
return sqlMap;
}
private static Document parse(String file) throws DocumentException {
ClassLoader classLoader = null;
SAXReader reader = new SAXReader();
classLoader = Thread.currentThread().getContextClassLoader();
Document document = reader.read(classLoader.getResourceAsStream(file));
return document;
}
分享到:
相关推荐
xml文档解析类使用说明 XML格式文件被我们广泛应用于项目配置文件、网络通信等方面, ...本类揭示了xml解析的核心算法,可以轻松实现xml字串的解析,支持键值对、 子节点格式,暂不支持属性格式。 附带xml片段生成
Java 基本语法(四)——字串和数组 Java 基本语法(四)——字串和数组
统计编码的算术编码,用代码来实现,输入任意字串 ,输出其算术编码
导出android代码内的字串到excel,便于翻译。 导出后的格式是: key 英文 待翻译的语言 ...但是忽略路径中含sample或者test的xml字串档案 ./string_exporter -f config.xml -d frameworks/ -i "sample|test
Java正则表达式的使用,判断html、电话等是否符合规定、、、
LoveString是一款方便实用的16进制转字符串工具。 该软件可以让字符串编码在Text、ANSI、Unicode、 Unicode Big Endian、UTF-8等之间转换,转换后将以十六进制显示出来。
XML越来越热,关于XML的基础教程网络上也随处可见。可是一大堆的概念和术语往往让人望而生畏,很多朋友问我:XML到底有什么用,我们是否需要学习它?我想就我个人学习过程的心得和经验,写一篇比较全面的介绍文章。...
编码保护Java 用于编码和保护ASCII文本的Java类Hamming Huffman SistemaTeoInfo-处理Huffman和Hamming的编码保护流程的类 Huffman-用于使用Huffman编码压缩文本的类 汉明-通过汉明保护的接口类 杂讯-将白杂讯插入...
字串替换器 1.05 版
android字串的拆分问题
蓝桥杯基础练习题考试题01字串C语言C++JAVA共2页.pdf.zip
撰写应用程式时,常会将程式设定值储存成文字档(*.ini, *.config, *.xml),一般比较资安敏感的字串(如资料库连线字串)写在这些没有加密的文字档里,容易被人窥看。兼顾简易及可逆的解密需求,我们会在文档中替代成已...
点睛字串替换器
10.5.4 从标准输入中读取数据 10.5.5 管道数据流 10.6 StreamTokenizer 10.6.1 StringTokenizer 10.7 Java 1.1的IO流 10.7.1 数据的发起与接收 10.7.2 修改数据流的行为 10.7.3 未改变的类 10.7.4 一个例子 10.7.5 ...
10.5.4 从标准输入中读取数据 10.5.5 管道数据流 10.6 StreamTokenizer 10.6.1 StringTokenizer 10.7 Java 1.1的IO流 10.7.1 数据的发起与接收 10.7.2 修改数据流的行为 10.7.3 未改变的类 10.7.4 一个例子 10.7.5 ...
可以用VC+实现LZW(Lempel-Ziv & Welch)编码,是一种无损压缩基础上改进的一种压缩方法。
但无论多么有限,某些形式的处理总是有益的,这可使整个项目的开发更加容易,总比直接了当开始编码好! 也就是说,假如你正在考察一种特殊的方法,其中包含了大量细节,并推荐了许多步骤和文档,那么仍然很难正确...
为了能正常输出XML格式的内容,必须要对不被XML允许的那些特殊字符进行转换。本文介绍的正是如何使用C#判断XML字符串是否含特殊字符并进行转换。 以下是几个特殊字符的对应实体。 < < 小于号 &...
10.5.4 从标准输入中读取数据 10.5.5 管道数据流 10.6 StreamTokenizer 10.6.1 StringTokenizer 10.7 Java 1.1的IO流 10.7.1 数据的发起与接收 10.7.2 修改数据流的行为 10.7.3 未改变的类 10.7.4 一个例子 10.7.5 ...