Posts Tagged ‘XML’

一个偶然的点击发现了一个使用纯Java编写的处理XML的类库,里面涉及了java底层的一些知识,包括反射、泛型、注释等等。决定从这个小框架的研究开始学习java jdk的底层知识。

Tuesday, January 26th, 2010 at 22:29 | 0 comments
Categories: Open Sources
Tags: , ,

公司项目解析xml使用的是SAX(Stream API for XML)解析xml数据字典。关于SAX,Simple API for XML(简称SAX)是个循序存取XML的解析器API。SAX提供一个机制从XML文件读取资料。它是除了文档对象模型(DOM)的另外一种流行选择。
优点
SAX解析器在某些方面优于DOM风格解析器。SAX解析器的内存使用量一般远低于DOM解析器使用量。DOM解析器在任何处理开始之前,必须把整棵树放在内存,所以DOM解析器的内存使用量完全根据输入资料的大小。相对来说,SAX解析器的内存内容,是只基于XML档案的最大深度(XML树的最大深度)和单一XML项目上XML属性储存的最大资料。这两个总是比整颗解析树本身还小。
因为SAX事件驱动的本质,处理文件通常会比DOM风格的解析器快。内存存取耗时,所以DOM较大的内存
使用也是一个效能议题。
因为SAX的本质,从磁盘串流读取是可行的。无法放入内存的XML文件只可能使用SAX解析器(或另外的
串流XML解析器)来处理。
缺点
SAX事件驱动的模型对于XML解析很有用,但它确实有某些缺点。
某些种类的XML验证需要存取整份文件。例如,一个DTDIDREF 属性需要文件内有项目使用指定字串当成
DTD ID属性。要在SAX解析器内验证,必须追踪每个之前遇过的ID和IDREF属性,检查是否有任何相符。
更甚者,一个IDREF不符合ID,使用者只会在整份文件都解析完后才发现,若这种连结对于建立有效输
出是重要的,那浪费在处理整份文件的时间只能舍弃。
另外,某些XML处理仅要求存取整份文件。举例来说,XSLT及XPath需要能够任何时间存取任何解析过的
XML树。当SAX以用来建构此树时,DOM解析器在设计上已经是如此了。

Friday, October 30th, 2009 at 11:28 | 0 comments
Categories: Open Sources
Tags: ,

最近开发项目,需要动态读取xml文件,生成Ext界面,xml文件通过前台页面的按钮事件传进来,可以参照此文章:【javascript 弹出子窗口】
获取弹出窗口url后的参数方法:
// 获取url后的参数值

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function getQueryStringValue(name) {
	var url = window.location.search;
	if (url.indexOf('?') < 0) {
		return null
	}
	var index = url.indexOf(name + "=");
	if (index < 0) {
		return null
	}
	var args = url.indexOf('&', index);
	var value;
	if (args > 0) {
		value = url.substring(index + name.length + 1, args);
	} else {
		value = url.substring(index + name.length + 1, url.length);
	}
	return value;
}
Thursday, October 22nd, 2009 at 10:35 | 0 comments
Categories: ExtJs, JavaScript
Tags: ,
Page 1 of 11
TOP