??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲激情网址,首页国产欧美日韩丝袜,www.综合http://www.aygfsteel.com/hewenkun/q轻没有p|?/description>zh-cnThu, 19 Jun 2025 15:29:41 GMTThu, 19 Jun 2025 15:29:41 GMT60Ajax-------IE和FIREFOX 脚本的一些区?/title><link>http://www.aygfsteel.com/hewenkun/archive/2012/01/18/368686.html</link><dc:creator>奇怪的杯子</dc:creator><author>奇怪的杯子</author><pubDate>Wed, 18 Jan 2012 01:53:00 GMT</pubDate><guid>http://www.aygfsteel.com/hewenkun/archive/2012/01/18/368686.html</guid><wfw:comment>http://www.aygfsteel.com/hewenkun/comments/368686.html</wfw:comment><comments>http://www.aygfsteel.com/hewenkun/archive/2012/01/18/368686.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/hewenkun/comments/commentRss/368686.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/hewenkun/services/trackbacks/368686.html</trackback:ping><description><![CDATA[<span id="wmqeeuq" class="javascript" id="text6696983" style="font-size: 12px">转:(x)用AJAX开?不可避免的要遇到览器不同,实现不同的问题,下面是AoiUmi的一些ȝ?br /><br />1QinnerText<br />IE支持QFIREFOX不支?br />解决办法Q用innerHTML,2U浏览器都识别innerHTML<br /><br />2Qdocument.createElement<br />document.appendChild<br />在往表里插入行时<br />FIREFOX支持QIE不支?br />解决办法Q把行插入到TBODY中,不要直接插入到表<br /><br />3QsetAttribute('style','color:red;')<br />FIREFOX支持(除了IEQ现在所有浏览器都支?QIE不支?br />解决办法Q不用setAttribute('style','color:red')<br />而用object.style.cssText = 'color:red;'(q写法也有例?<br />最好的办法是上面种Ҏ(gu)都用上,万无一?^_^<br />4:class<br />setAttribute('class','styleClass')<br />FIREFOX支持QIE不支?指定属性名为CLASSQIE不会(x)讄元素的CLASS属性,相反只用SETATTRIBUTE时IE自动识别CLASSNAME属?<br />解决办法Q?br />setAttribute('class','styleClass')<br />setAttribute('className','styleClass')<br />2U都用上<br /><br />5:用setAttribute讄事g<br />var obj = document.getElementById('objId');<br />obj.setAttribute('onclick','funcitonname();');<br />FIREFOX支持QIE不支?br />解决办法Q?br />IE中必ȝ点记法来引用所需的事件处理程?q且要用赋予匿名函数<br />如下Q?br />var obj = document.getElementById('objId');<br />obj.onclick=function(){fucntionname();};<br />q种Ҏ(gu)所有浏览器都支?br /><br />6Q徏立单选钮<br />IE以外的浏览器<br />var rdo = document.createElement('input');<br />rdo.setAttribute('type','radio');<br />rdo.setAttribute('name','radiobtn');<br />rdo.setAttribute('value','checked');<br /><br />IE:<br />var rdo =document.createElement("<input type='radio' name='radiobtn' value='checked'>");<br />解决办法Q?br />q一点区别和前面的都不一栗这ơ完全不同,所以找不到共同的办法来解决Q那么只有IF-ELSE?br />万幸的是QIE可以识别出document的uniqueID属性,别的览器都不可以识别出q一属性。问题解冟?br /><br />0Q共同的一些技?br />在动态徏立INPUT型输入元素时Q一般是先加入,在设|TYPE。这有可能出错<br /><br />好习(fn)惯:(x)var btn = document.createElement('input');<br />btn.setAttribut('type','button');<br />document.getElementById('formId').appendChild(btn);</span> <br /><img src ="http://www.aygfsteel.com/hewenkun/aggbug/368686.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/hewenkun/" target="_blank">奇怪的杯子</a> 2012-01-18 09:53 <a href="http://www.aygfsteel.com/hewenkun/archive/2012/01/18/368686.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>四种操作xml的方式:(x) SAX, DOM, JDOM , DOM4J的比?http://www.aygfsteel.com/hewenkun/archive/2012/01/18/368685.html奇怪的杯子奇怪的杯子Wed, 18 Jan 2012 01:51:00 GMThttp://www.aygfsteel.com/hewenkun/archive/2012/01/18/368685.htmlhttp://www.aygfsteel.com/hewenkun/comments/368685.htmlhttp://www.aygfsteel.com/hewenkun/archive/2012/01/18/368685.html#Feedback0http://www.aygfsteel.com/hewenkun/comments/commentRss/368685.htmlhttp://www.aygfsteel.com/hewenkun/services/trackbacks/368685.html

1. 介绍

1QDOM(JAXP Crimson解析?
        DOM是用与^台和语言无关的方式表CXML文档的官方W3C标准。DOM是以层次l构l织的节Ҏ(gu)信息片断的集合。这个层ơ结构允许开发h员在?wi)中L特定信息。分析该l构通常需要加载整个文档和构造层ơ结构,然后才能做Q何工作。由于它是基于信息层ơ的Q因而DOM被认为是Z?wi)或Z对象的。DOM以及(qing)q义的基于树(wi)的处理具有几个优炏V首先,׃?wi)在内存中是持久的,因此可以修改它以便应用程序能?gu)据和l构作出更改。它q可以在M时候在?wi)中上下DQ而不是像SAX那样是一ơ性的处理。DOM使用h也要单得多?/p>

2QSAX

        SAX处理的优炚w常类g媒体的优点。分析能够立卛_始,而不是等待所有的数据被处理。而且Q由于应用程序只是在d数据时检查数据,因此不需要将数据存储在内存中。这对于大型文档来说是个巨大的优炏V事实上Q应用程序甚至不必解析整个文档;它可以在某个条g得到满时停止解析。一般来_(d)SAXq比它的替代者DOM快许多?
   选择DOMq是选择SAXQ?对于需要自q写代码来处理XML文档的开发h员来_(d)  选择DOMq是SAX解析模型是一个非帔R要的设计决策?DOM采用建立?wi)Şl构的方式访问XML文档Q而SAX采用的事件模型?

  DOM解析器把XML文档转化Z个包含其内容的树(wi)Qƈ可以Ҏ(gu)(wi)q行遍历。用DOM解析模型的优Ҏ(gu)~程Ҏ(gu)Q开发h员只需要调用徏?wi)的指o(h)Q然后利用navigation APIs讉K所需的树(wi)节点来完成Q务。可以很Ҏ(gu)的添加和修改?wi)中的元素。然而由于用DOM解析器的时候需要处理整个XML文档Q所以对性能和内存的要求比较高,其是遇到很大的XML文g的时候。由于它的遍历能力,DOM解析器常用于XML文档需要频J的改变的服务中?

  SAX解析器采用了Z事g的模型,它在解析XML文档的时候可以触发一pd的事Ӟ当发现给定的tag的时候,它可以激zM个回调方法,告诉该方法制定的标签已经扑ֈ。SAX对内存的要求通常?x)比较低Q因为它让开发h员自己来军_所要处理的tag。特别是当开发h员只需要处理文档中所包含的部分数据时QSAXq种扩展能力得到了更好的体现。但用SAX解析器的时候编码工作会(x)比较困难Q而且很难同时讉K同一个文档中的多处不同数据?

3QJDOM           http://www.jdom.org/

          JDOM的目的是成ؓ(f)Java特定文档模型Q它化与XML的交互ƈ且比使用DOM实现更快。由于是W一个Java特定模型QJDOM一直得到大力推q和促进。正在考虑通过“Java规范hJSR-102”它最l用?#8220;Java标准扩展”。从2000q初已l开始了JDOM开发?

  JDOM与DOM主要有两斚w不同。首先,JDOM仅用具体类而不使用接口。这在某些方面简化了APIQ但是也限制了灵zL。第二,API大量使用了Collectionsc,化了那些已经熟?zhn)q些cȝJava开发者的使用?

  JDOM文档声明其目的是“使用20%(或更?的精力解?0%(或更?Java/XML问题”(Ҏ(gu)学习(fn)曲线假定?0%)。JDOM对于大多数Java/XML应用E序来说当然是有用的Qƈ且大多数开发者发现API比DOMҎ(gu)理解得多。JDOMq包括对E序行ؓ(f)的相当广泛检查以防止用户做Q何在XML中无意义的事。然而,它仍需要?zhn)充分理解XML以便做一些超出基本的工作(或者甚至理解某些情况下的错?。这也许是比学习(fn)DOM或JDOM接口都更有意义的工作?

  JDOM自n不包含解析器。它通常使用SAX2解析器来解析和验证输入XML文档(管它还可以以前构造的DOM表示作ؓ(f)输入)。它包含一些{换器以将JDOM表示输出成SAX2事g、DOM模型或XML文本文档。JDOM是在Apache许可证变体下发布的开放源码?/p>

4QDOM4J http://dom4j.sourceforge.net/ 
            
        虽然DOM4J代表了完全独立的开发结果,但最初,它是JDOM的一U智能分支。它合ƈ了许多超出基本XML文档表示的功能,包括集成的XPath支持、XML Schema支持以及(qing)用于大文档或化文档的基于事件的处理。它q提供了构徏文档表示的选项Q它通过DOM4J API和标准DOM接口hq行讉K功能。从2000下半q开始,它就一直处于开发之中?

  为支持所有这些功能,DOM4J使用接口和抽象基本类Ҏ(gu)。DOM4J大量使用了API中的Collectionsc,但是在许多情况下Q它q提供一些替代方法以允许更好的性能或更直接的编码方法。直接好处是Q虽然DOM4J付出了更复杂的API的代P但是它提供了比JDOM大得多的灉|性?

  在添加灵zL、XPath集成和对大文档处理的目标ӞDOM4J的目标与JDOM是一L(fng)Q针对Java开发者的易用性和直观操作。它q致力于成ؓ(f)比JDOM更完整的解决Ҏ(gu)Q实现在本质上处理所有Java/XML问题的目标。在完成该目标时Q它比JDOM更少防止不正的应用E序行ؓ(f)?

  DOM4J是一个非帔R怼U的Java XML APIQ具有性能优异、功能强大和极端易用使用的特点,同时它也是一个开放源代码的Y件。如今你可以看到来多的Java软g都在使用DOM4J来读写XMLQ特别值得一提的是连Sun的JAXM也在用DOM4J?

2.. 比较

1QDOM4J性能最好,qSun的JAXM也在用DOM4J。目前许多开源项目中大量采用DOM4JQ例如大名鼎鼎的Hibernate也用DOM4J来读取XML配置文g。如果不考虑可移植性,那就采用DOM4J.

2QJDOM和DOM在性能试时表C佻I在测?0M文档时内存溢出。在文档情况下q值得考虑使用DOM和JDOM。虽然JDOM的开发者已l说明他们期望在正式发行版前专注性能问题Q但是从性能观点来看Q它实没有值得推荐之处。另外,DOM仍是一个非常好的选择。DOM实现q泛应用于多U编E语a。它q是许多其它与XML相关的标准的基础Q因为它正式获得W3C推荐(与基于非标准的Java模型相对)Q所以在某些cd的项目中可能也需要它(如在JavaScript中用DOM)?/p>

3QSAX表现较好Q这要依赖于它特定的解析方式Q事仉动。一个SAX(g)即到来的XML,但ƈ没有载入到内?当然当XML被dӞ?x)有部分文档暂时隐藏在内存??/p>

3. 四种xml操作方式的基本用方?/p>

xml文gQ?/p>

<?xml version="1.0" encoding="utf-8" ?>
<Result>
   <VALUE>
       <NO DATE="2005">A1</NO>
       <ADDR>GZ</ADDR>
   </VALUE>
   <VALUE>
       <NO DATE="2004">A2</NO>
       <ADDR>XG</ADDR>
  </VALUE>
</Result>

1QDOM

import java.io.*;
import java.util.*;
import org.w3c.dom.*;
import javax.xml.parsers.*;

public class MyXMLReader{
 public static void main(String arge[]){

  long lasting =System.currentTimeMillis();
  try{ 
   File f=new File("data_10k.xml");
   DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
   DocumentBuilder builder=factory.newDocumentBuilder();
   Document doc = builder.parse(f);
   NodeList nl = doc.getElementsByTagName("VALUE");
   for (int i=0;iQnl.getLength();i++){
    System.out.print("车牌L(fng):" + doc.getElementsByTagName("NO").item(i).getFirstChild().getNodeValue());
    System.out.println("车主地址:" + doc.getElementsByTagName("ADDR").item(i).getFirstChild().getNodeValue());
   }
  }catch(Exception e){
   e.printStackTrace();
}

2QSAX

import org.xml.sax.*;
import org.xml.sax.helpers.*;
import javax.xml.parsers.*;

public class MyXMLReader extends DefaultHandler {

 java.util.Stack tags = new java.util.Stack();
 public MyXMLReader() {
  super();
   }

 public static void main(String args[]) {
  long lasting = System.currentTimeMillis();
  try {
   SAXParserFactory sf = SAXParserFactory.newInstance();
   SAXParser sp = sf.newSAXParser();
   MyXMLReader reader = new MyXMLReader();
   sp.parse(new InputSource("data_10k.xml"), reader);
  } catch (Exception e) {
   e.printStackTrace();
  }

  System.out.println("q行旉Q? + (System.currentTimeMillis() - lasting) + "毫秒");}
  public void characters(char ch[], int start, int length) throws SAXException {
  String tag = (String) tags.peek();
  if (tag.equals("NO")) { 
   System.out.print("车牌L(fng)Q? + new String(ch, start, length));
    }
    if (tag.equals("ADDR")) {
  System.out.println("地址:" + new String(ch, start, length));
    }
   }

  public void startElement(String uri,String localName,String qName,Attributes attrs) {
  tags.push(qName);}

3Q?JDOM

import java.io.*;
import java.util.*;
import org.jdom.*;
import org.jdom.input.*;

public class MyXMLReader {

 public static void main(String arge[]) {
  long lasting = System.currentTimeMillis();
  try {
   SAXBuilder builder = new SAXBuilder(); 
   Document doc = builder.build(new File("data_10k.xml")); 
   Element foo = doc.getRootElement(); 
   List allChildren = foo.getChildren(); 
   for(int i=0;iQallChildren.size();i++) { 
    System.out.print("车牌L(fng):" + ((Element)allChildren.get(i)).getChild("NO").getText());
    System.out.println("车主地址:" + ((Element)allChildren.get(i)).getChild("ADDR").getText());
   }
  } catch (Exception e) {
   e.printStackTrace();
}

}

4QDOM4J

import java.io.*;
import java.util.*;
import org.dom4j.*;
import org.dom4j.io.*;

public class MyXMLReader {

 public static void main(String arge[]) {
  long lasting = System.currentTimeMillis();
  try {
   File f = new File("data_10k.xml");
   SAXReader reader = new SAXReader();
   Document doc = reader.read(f);
   Element root = doc.getRootElement();
   Element foo;
   for (Iterator i = root.elementIterator("VALUE"); i.hasNext();) {
    foo = (Element) i.next();
    System.out.print("车牌L(fng):" + foo.elementText("NO"));
    System.out.println("车主地址:" + foo.elementText("ADDR"));
   }
  } catch (Exception e) {
   e.printStackTrace();
    }
}




奇怪的杯子 2012-01-18 09:51 发表评论
]]>
DOM元素如何获得焦点http://www.aygfsteel.com/hewenkun/archive/2012/01/18/368684.html奇怪的杯子奇怪的杯子Wed, 18 Jan 2012 01:49:00 GMThttp://www.aygfsteel.com/hewenkun/archive/2012/01/18/368684.htmlhttp://www.aygfsteel.com/hewenkun/comments/368684.htmlhttp://www.aygfsteel.com/hewenkun/archive/2012/01/18/368684.html#Feedback0http://www.aygfsteel.com/hewenkun/comments/commentRss/368684.htmlhttp://www.aygfsteel.com/hewenkun/services/trackbacks/368684.html首先让我们看看哪些元素可以直接获得焦?/span>element..focus()

// Form : http://www.w3.org/TR/html5/editing.html#focusable

  • a elements that have an href attribute
  • link elements that have an href attribute
  • button elements that are not disabled
  • input elements whose type attribute are not in the Hidden state and that are not disabled
  • select elements that are not disabled
  • textarea elements that are not disabled
  • command elements that do not have a disabled attribute
  • Elements with a draggable attribute set, if that would enable the user agent to allow the user to begin a drag operations for those elements without the use of a pointing device
  • Each shape that is generated for an area element

而除上面以外的元素(比如QdivQpQ一般都无法直接获得焦点Q那如何处理呢?

  1. l元素添?contenteditable 属性?br />

    // From : http://www.w3.org/TR/2009/WD-html5-20090423/editing.html#attr-contenteditable

    User agents must make editing hosts focusable (which typically means they enter the tab order).

  2. l元素添?tabindex 属性?br />

    // From : http://www.w3.org/TR/2009/WD-html5-20090423/editing.html#attr-tabindex

    The tabindex content attribute specifies whether the element is focusable, whether it can be reached using sequential focus navigation, and the relative order of the element for the purposes of sequential focus navigation.

    非常推荐使用tabindex = -1 Q基本无副作用!Q?/p>

    // From : http://www.w3.org/TR/2009/WD-html5-20090423/editing.html#attr-tabindex

    If the value is a negative integer: The user agent must allow the element to be focused, but should not allow the element to be reached using sequential focus navigation.

lDQ无法直接获得焦点的元素获得焦点的最?jng)_践就是:(x)l元素添?code style="display: block; margin: 10px 0px; border-bottom: #b8e78b 1px solid; background-color: #f1ffe3">tabindex = -1



奇怪的杯子 2012-01-18 09:49 发表评论
]]>
oracle数据恢复http://www.aygfsteel.com/hewenkun/archive/2012/01/18/368683.html奇怪的杯子奇怪的杯子Wed, 18 Jan 2012 01:40:00 GMThttp://www.aygfsteel.com/hewenkun/archive/2012/01/18/368683.htmlhttp://www.aygfsteel.com/hewenkun/comments/368683.htmlhttp://www.aygfsteel.com/hewenkun/archive/2012/01/18/368683.html#Feedback0http://www.aygfsteel.com/hewenkun/comments/commentRss/368683.htmlhttp://www.aygfsteel.com/hewenkun/services/trackbacks/368683.html1.
表查询闪?/strong>
create table xcp as (select * from b_za_bzdzkxx);
select * from xcp;
select count(1) from xcp;--22001
select count(1) from xcp t where t.dzbh like '510521%';--7011
delete from xcp t where t.dzbh like '510521%';
select count(1) from xcp;--14990
Q-查找指定旉点前的数?/span>
select count(1) from xcp as of timestamp to_timestamp('2011-12-23 10:49:30','yyyy-MM-dd hh24:mi:ss');--
22001

select * from xcp for update;Q-d一条记?br />select count(1) from xcp;--14991

--恢复指定旉点的前delete数据Q将删除恢复旉点后面的数据Q?/font>

alter table xcp enable row movement;--启动的行Ud功能
flashback table xcp to timestamp to_timestamp('2011-12-23 10:49:30,'yyyy-MM-dd hh24:mi:ss');
select count(1) from xcp;--22001

--恢复指定旉点的前delete数据Qƈ保留恢复旉点后面的数据

create table xcp2 as (select * from xcp t where t.createdtime>to_timestamp('2011-12-23 10:49:30','yyyy-MM-dd hh24:mi:ss'));
select * from xcp2;--临时?br />alter table xcp enable row movement;--启动的行Ud功能
flashback table xcp to timestamp to_timestamp('2011-12-23 10:49:30,'yyyy-MM-dd hh24:mi:ss');
select count(1) from xcp;--22001
insert into xcp select * from xcp2 --(f)时表的数据再插入到源?/font>
select count(1) from xcp;--22002


2.删除
闪回[10g+]
    删除闪回为删除oracle 10G提供了一个数据库安全机制Q当用户删除一个表Ӟoracle 10G?x)将该表攑ֈ回收站中Q回收站中的对象一直会(x)保留Q直到用户决定永久删除它们或出现表空间的I间不时才?x)被删除。回收站是一个虚拟容器,用于存储所有被删除的对象。数据字典user_tables中的列dropped表示被删除的表,查询Ҏ(gu)如下Q?br />select table_name,dropped from user_tables;
--讄数据库是否启用回收站
alert session set recyclebin = off;
--查询回收站对?br />
select * from recyclebin;
select * from user_recyclebin;
select * from dba_recyclebin;


drop table xcp;
select count(1) from xcp;--0
--恢复drop的表
flashback table xcp to before drop;
select count(1) from xcp;--22001

如果不知道原表名Q可以直接用回收站中的名称q行闪回..
flashback table "BIN$JiXyAUO4R+u3qNVfQK/Kiw==$0" to before drop;
在回收的同时可以修改表名
flashback table "
BIN$JiXyAUO4R+u3qNVfQK/Kiw==$0" to before drop rename to xcp1;

--真正删除一个表Q而不q入回收站,可以在删除表时增加purge选项
drop table xcp1 purge;
--也可以从回收站永久性删除表
purge table xcp1;
--删除当前用户回收?br />purge recyclebin
--删除全体用户在回收站的资?br />purge dba_resyclebin



3.数据库闪?
[10g+]
    使用数据库闪回功能,可以使数据库回到q去某一状态,语法如下Q?br />        sql: alter database flashback on;
        sql: flashback database to scn 46963;
        sql: flashback database to timestamp to_timestamp('2007-2-12 12:00:00','yyyy-MM-dd hh24:mi:ss');




奇怪的杯子 2012-01-18 09:40 发表评论
]]>
վ֩ģ壺 | ׺| | | | | ʩ| ƽ| | | | | ͤ| | | | | | Ȫ| Ӣɽ| | Ʊ| ϳ| IJ| | ƽ| | | «| | ɽ| | | | | | ֳ| | | | |