应用域[三打哈]
网络负载均衡技术的实现方法[三打哈]
SAX解析 AX是一个用于处理XML事件驱动的“推”模型,虽然它不是W3C标准,但它却是一个得到了广泛认可的API。SAX解析器不像DOM那样建立一个完整的文档树,而是在读取文档时激活一系列事件,这些事件被推给事件处理器,然后由事件处理器提供对文档内容的访问。常见的事件处理器有三种基本类型:
● 用于访问XML DTD内容的DTDHandler;
● 用于低级访问解析错误的ErrorHandler;
● 用于访问文档内容的ContentHandler,这也是最普遍使用的事件处理器。
与DOM相比,SAX解析器能提供更好的性能优势,它提供对XML文档内容的有效低级访问。SAX模型最大的优点是内存消耗小,因为整个文档无需一次加载到内存中,这使SAX解析器可以解析大于系统内存的文档。另外,你无需像在DOM中那样为所有节点创建对象。最后,SAX“推”模型可用于广播环境,能够同时注册多个ContentHandler,并行接收事件,而不是在一个管道中一个接一个地进行处理。
SAX的缺点是你必须实现多个事件处理程序以便能够处理所有到来的事件,同时你还必须在应用程序代码中维护这个事件状态,因为SAX解析器不能交流元信息,如DOM的父/子支持,所以你必须跟踪解析器处在文档层次的哪个位置。如此一来,你的文档越复杂,你的应用逻辑就越复杂。虽然没有必要一次将整个文档加载到内存中,但SAX解析器仍然需要解析整个文档,这点和DOM一样。
也许SAX面临的最大问题是它没有内置如XPath所提供的那些导航支持。再加上它的单遍解析,使它不能支持随机访问。这一限制也表现在名字空间上: 对有继承名字空间的元素不做注解。这些限制使SAX很少被用于操作或修改文档。
那些只需要单遍读取内容的应用程序可以从SAX解析中大大受益。很多B2B和EAI应用程序将XML用做封装格式,接收端用这种格式简单地接收所有数据。这就是SAX明显优于DOM的地方:因高效而获得高吞吐率。在SAX 2.0 中有一个内置的过滤机制,可以很轻松地输出一个文档子集或进行简单的文档转换。
DOM的四个基本接口Document接口
Document接口代表了整个XML/HTML文档,因此,它是整棵文档树的根,提供了对文档中的数据进行访问和操作的入口。
由于元素、文本节点、注释、处理指令等都不能脱离文档的上下文关系而独立存在,所以在Document接口提供了创建其他节点对象的方法,通过该方法创建的节点对象都有一个ownerDocument属性,用来表明当前节点是由谁所创建的以及节点同Document之间的联系。
在DOM树中,Document接口同其他接口之间的关系如下图所示:
由图可以看出,Document节点是DOM树中的根节点,也即对XML文档进行操作的入口节点。通过Docuemt节点,可以访问到文档中的其他节点,如处理指令、注释、文档类型以及XML文档的根元素节点等等。另外,从上图我们还可以看出,在一棵DOM树中,Document节点可以包含多个处理指令、多个注释作为其子节点,而文档类型节点和XML文档根元素节点都是唯一的。
关于Document接口的IDL(Interface Definition Language接口定义语言)定义和其中一些比较常用的属性和方法的详细介绍在许多参考书都可以找到,我们将在后面结合实际例子给予介绍。
Node接口
Node 接口在整个DOM树中具有举足轻重的地位,DOM接口中有很大一部分接口是从Node接口继承过来的,例如,Element、Attr、 CDATASection等接口,都是从Node继承过来的。在DOM树中,Node接口代表了树中的一个节点。一个典型的Node接口如下图所示:
如图所示,Node接口提供了访问DOM树中元素内容与信息的途径,并给出了对DOM树中的元素进行遍历的支持。
同样,我们将在后面结合实际例子详细说明Node接口的具体使用方法。
NodeList接口
NodeList接口提供了对节点集合的抽象定义,它并不包含如何实现这个节点集的定义。NodeList用于表示有顺序关系的一组节点,比如某个节点的子节点序列。另外,它还出现在一些方法的返回值中,例如GetNodeByName。
在DOM 中,NodeList的对象是"live"的,换句话说,对文档的改变,会直接反映到相关的NodeList对象中。例如,如果通过DOM获得一个 NodeList对象,该对象中包含了某个Element节点的所有子节点的集合,那么,当再通过DOM对Element节点进行操作(添加、删除、改动节点中的子节点)时,这些改变将会自动地反映到NodeList对象中,而不需DOM应用程序再做其他额外的操作。
NodeList中的每个item都可以通过一个索引来访问,该索引值从0开始。
NamedNodeMap接口
实现了NamedNodeMap接口的对象中包含了可以通过名字来访问的一组节点的集合。不过注意,NamedNodeMap并不是从NodeList继承过来的,它所包含的节点集中的节点是无序的。尽管这些节点也可以通过索引来进行访问,但这只是提供了枚举NamedNodeMap中所包含节点的一种简单方法,并不表明在DOM规范中为NamedNodeMap中的节点规定了一种排列顺序。
NamedNodeMap表示的是一组节点和其唯一名字的一一对应关系,这个接口主要用在属性节点的表示上。
与NodeList相同,在DOM中,NamedNodeMap对象也是"live"的。
[!!!三打哈]js操作cookies类
[!!!三打哈]SQL2005如何建立链接服务器
[!!!三打哈]IE6,DIV与SELECT的战争在IE6中,SELECT生命力是非常强大的,大到用DIV遮盖不住。
在网上找一下,还是有办法,解决它的战斗力的。
添加一个<iframe ></iframe>位置任意。
对<iframe>进行样式设置<iframe style='left:20px;top:40px;height:128px;width:140px;z-index:0'>这里用的是绝对高度和宽度,具体的值,可以自行调制。目的就是一个:遮住SELECT。
[!!!三打哈]遍历读取所有文件 void FindFiles(string path)
{
DirectoryInfo Dir = new DirectoryInfo(path);
if (Dir == null) return;
foreach (DirectoryInfo d in Dir.GetDirectories())
{
FindFiles(d.FullName);
Response.Write(d.FullName + "<br>");
}
foreach (FileInfo f in Dir.GetFiles())
{
Response.Write(f.FullName + "<br>");
}
}
FindFiles(Server.MapPath(name));
[!!!三打哈]!!!三打哈|
24岁再话"三打哈" 我喜欢"三打哈".我越来越发现"三打哈"在与这个时代接轨.越发体现了这个时代的:管理与协作. 管理:相当于"三打哈"的做庄,它要求庄家能快速的根据自己手中的牌与其它三家对做庄的反映情况而做出快速的分析与综合,演绎与推理,从而制定出自己打法,而取胜.如果分析有误,能在进行的过程中,根据闲家的出牌而调整出牌的策略,而争取胜利.其中还要采取一些谋略,去分化三个闲家的连盟,以争取自己的最大胜算. 协作:相当于"三个闲家中的一家".它也要求你能分析庄家,和其它二个闲家的牌,根据手中的牌,更好的连合其它二个闲家去制约庄家,打乱,打破庄家的方安,策略.而求取胜利. 在三打哈中,,一局牌的胜负,往往决定于几张关建牌的处理上,因为"三打哈"是步步进扣的,没得后悔的,来不得一点马虎.失利的代价不是单一的,或者说不是个人,做庄失利,你要赔偿给三个闲家,,做闲家失利,你要连累其它二家.正是因为这样,打三哈的时候,往往要对牌友的要求比较严格.它要求技术相当,以至不会乱出牌,出错;修养要好,以至不会在别人出错的情况下,而埋怨,在输牌之后不犯嘀咕.这样能从三打哈中看出一个人的,管理,协作能力;胸怀、气度、涵养. 很久没有打过三打哈了,,星期五晚上在网上玩了个晚,,感觉网络中对战,没有那种实际的感觉,也许就是常说的实战背景不强吧 从学校出来,发现自己少了许多的激情,也许是好久没有打过"三打哈"了,没有更好的方法来提升自己的战斗力了. "三打哈".... |
asp.net(C#)添加、删除主机头
document.body 常用属性
document.body.scrollTop scrollTop
event.X和event.clientX有什么区别