`
liangbao586
  • 浏览: 2191 次
社区版块
存档分类
最新评论

java 读取 GBK 编码的XML字串

    博客分类:
  • java
 
阅读更多
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解析的核心算法,可以轻松实现xml字串的解析,支持键值对、 子节点格式,暂不支持属性格式。 附带xml片段生成

    Java 基本语法(四)——字串和数组

    ### Java基本语法(四)—— 字串和数组 #### 字串(String) 在Java中,`String` 是一种非常重要的数据类型,它代表一系列字符。Java中的字符串是不可变的,这意味着一旦创建了一个字符串对象,其内容就不能更改。...

    LZW.rar_LZW编码_file lzw java_lzw_lzw java_压缩解压

    在Java中实现LZW编码涉及到数据结构的设计、编码和解码算法的实现,以及文件的读写操作。提供的文件列表揭示了编码过程的某些组成部分,以及可能的开发环境设置。理解并掌握LZW编码原理和实现对于理解和处理数据压缩...

    android字串导出工具

    导出android代码内的字串到excel,便于翻译。 导出后的格式是: key 英文 待翻译的语言 ...但是忽略路径中含sample或者test的xml字串档案 ./string_exporter -f config.xml -d frameworks/ -i "sample|test

    编程实现算术编码 输入任意字串 输出算术编码

    算术编码是一种高效的数据压缩方法,常用于文本、图像和音频等数据的压缩。与传统的霍夫曼编码相比,算术编码在处理连续的概率分布时更具有优势,因为它能够更精确地代表每个符号的概率,从而达到更高的压缩比。 在...

    正则表达式 Java 判断字串是否合理

    根据给定的文件信息,我们可以总结出以下关于Java正则表达式的重要知识点: ### 1. 正则表达式简介 正则表达式是一种强大的文本处理工具,它能够帮助我们匹配、查找、替换等操作符合某种规则的字符串。在Java中,...

    趣谈Unicode、Ascii、utf-8、GB2312、GBK等编码学问_.docx

    在 DBCS 系列标准里,最大的特点是两字节长的汉字字符和一字节长的英文字符并存于同一套编码方案里,因此他们写的程序为了支持中文处理,必需要留意字串里的每一个字节的值,假如这个值是大于 127 的,那么就认为一...

    字符编码转换(GB2312,UTF-8,UNICODE)

    这些工具能够读取源文件,将其内容按照新的编码规则重新编码,并保存为新文件。 4. 检查转换结果:转换完成后,应检查新文件是否正确显示所有字符,确保无乱码问题。 在实际应用中,如“字符编码转换”这样的工具,...

    LoveString 字串编码查询器

    LoveString是一款方便实用的16进制转字符串工具。 该软件可以让字符串编码在Text、ANSI、Unicode、 Unicode Big Endian、UTF-8等之间转换,转换后将以十六进制显示出来。

    lzw(Lempel-Ziv & Welch)即字串表编码

    在VC++环境中实现LZW编码,需要编写读取输入数据、构建字典、编码和写入输出数据的代码。同时,需要注意字典的动态管理,以及编码流的正确构造和解码流的正确恢复。在实现过程中,可能会涉及到数据结构(如链表或...

    lz编码 信息论 编码理论

    滑动窗口是在原始数据流中向前移动的一段固定大小的数据区域,而字典则存储了从窗口中提取出的前缀-后缀对,这些对是已编码的字串。当新的数据进入窗口时,算法会尝试找到最长的已存在字串,并用该字串的索引替换之...

    XML轻松学习手册--XML肯定是未来的发展趋势,不论是网页设计师还是网络程序员,都应该及时学习和了解

    XML越来越热,关于XML的基础教程网络上也随处可见。可是一大堆的概念和术语往往让人望而生畏,很多朋友问我:XML到底有什么用,我们是否需要学习它?我想就我个人学习过程的心得和经验,写一篇比较全面的介绍文章。...

    RC 资源文件字串抽取器

    总结起来,RC资源文件字串抽取器是一个用于分析RC文件格式,提取其中字符串资源的工具,它利用编程语言(可能包括TinyXML库)实现了对RC文件的解析,生成易于处理的XML格式。这对于Windows应用程序的开发、本地化和...

    基于字典的LZW编码

    解码时,首先读取第一个编码,根据字典找到对应的字串,然后将这个字串输出并加入字典。接着,根据编码序列中的下一个编码,持续这个过程,直到所有编码都被处理。 4. **lzw_demo1演示程序**: `lzw_demo1`可能是...

    JAVA开发中的中文处理问题

    这是因为Java采用Unicode编码,而某些数据库可能不支持或处理Unicode字符集的方式不同。例如,当使用JDBC-ODBC Bridge连接到某些数据库时,中文字符可能会被截断。 解决这个问题的一个策略是将中文信息转换为纯英文...

    android字串的拆分问题

    本文将深入探讨“android字串的拆分问题”,并提供相关的解决方案。 字符串拆分是处理文本数据时的一项基本操作。在Java和Android中,我们可以使用多种方法来拆分字符串。主要的方法有两种:`split()` 和 `Pattern....

    Python-biglistofnaughtystrings淘气字串大列表收集了用户输入时经常出错的字串包含py脚本和JSON格式数据

    用户输入的数据可能会包含各种异常情况,如特殊字符、非法语法、编码问题等,这些异常字串被称为"淘气字串"。为了确保软件的健壮性和安全性,开发者需要对这类情况进行充分的测试和预防。Python社区提供了一个名为...

    encoding-protecting-java:用于编码和保护ASCII文本的Java类Hamming Huffman

    编码保护Java 用于编码和保护ASCII文本的Java类Hamming Huffman SistemaTeoInfo-处理Huffman和Hamming的编码保护流程的类 Huffman-用于使用Huffman编码压缩文本的类 汉明-通过汉明保护的接口类 杂讯-将白杂讯插入...

    详解Java如何进行Base64的编码(Encode)与解码(Decode)

    自Java 8开始,Java标准库提供了内置的`java.util.Base64`类,可以直接进行Base64的编码和解码操作,无需额外依赖。此方法不仅性能优秀,而且代码简洁。示例如下: ```java import java.util.Base64; final ...

Global site tag (gtag.js) - Google Analytics