zqfzqf

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  4 随笔 :: 1 文章 :: 0 评论 :: 0 Trackbacks

2009年5月19日 #

  首先下载jdom的压缩文件:http://www.jdom.org/dist/binary/,解压后在build文件下找到jdom.jar添加到你的工程里。

//添加根节点animal
Element root = new Element("animal");
Document myDocument = new Document(root);

//为根节点添加子节点dog
Element dog = new Element("dog");
  root.addContent(dog);

//为dog节点添加相应的属性节点
dog.addContent(new Element("name").addContent("小次郎"));
  dog.addContent(new Element("sex").addContent("male"));
  dog.addContent(new Element("age").addContent("3"));
  dog.addContent(new Element("color").addContent("黑白"));

//设置输出的格式及编码
org.jdom.output.Format format = org.jdom.output.Format.getCompactFormat();
   format.setEncoding("UTF-8");
   format.setIndent("  "); //缩进2个空格后换行,空格数自己设

//输出xml
try {
   XMLOutputter outputter = new XMLOutputter(format);
      outputter.output(myDocument, new FileOutputStream("d:\\1.xml"));
  } catch (Exception e) {
      e.printStackTrace();
  }

//生成的xml文件内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<animal>
  <dog>
    <name>小次郎</name>
    <sex>male</sex>
    <age>3</age>
    <color>黑白</color>
  </dog>
</animal>

下载源代码
posted @ 2009-05-19 10:19 seal_zqf 阅读(1361) | 评论 (0)编辑 收藏

2009年5月7日 #

0-UNINITIALIZED:XML 对象被产生,但没有任何文件被加载。
1-LOADING:加载程序进行中,但文件尚未开始解析。
2-LOADED:部分的文件已经加载且进行解析,但对象模型尚未生效。
3-INTERACTIVE:仅对已加载的部分文件有效,在此情况下,对象模型是有效但只读的。
4-COMPLETED:文件已完全加载,代表加载成功。

示例:网页flash太大,加载比较慢,所以可以在它之前加个等待画面
<script type="text/javascript">
 function onLoad()
 {
  
  
  if(document.getElementById("me").readyState=="complete")
  {
   
   document.getElementById("p").style.display="none";
   document.getElementById("div").style.display="block";
  }
 }
 </script>//加在head之间

<body onload="onLoad()">
<div id="p" style="z-index:100;width:800px;height:350px;position:relative;top:100px;background-color:#909090;"><br><br><br><br><br><br><p  style="color:black;">please wait a monent...</p><br><br><br><br><br><br></div>
   <div id="div" style="display:none;">
   <embed  src="http://www.aniwxz.com/000_wxz.swf"  wmode="transparent" quality="high" bgcolor="#cccccc" width="1000" id="me"  height="600" name="000_wxz" align="center" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" >
   </embed>
   </div>
</body>

完整演示请参看www.aniwxz.com
posted @ 2009-05-07 09:35 seal_zqf 阅读(468) | 评论 (0)编辑 收藏

2009年4月13日 #

很多个人网站的站长都希望为自己的网站建立一个站内搜索引擎,但一不熟悉ASP、PHP、JSP等动态开发技术,另外自己建立站内搜索也需要空间支持相应的动态技术,所以常不得已放弃。其实,何不借用Google打造站内搜索引擎,来方便网友对自己网站的内容进行查找。

若想在某特定网站内搜索特定的内容(如搜索www.cfan.com.cn中包含关键字“网络”的内容),只需要在Google的搜索栏里输入:“网络 site:cfan.com.cn”即可(不含引号)。如果直接在自己站点的网页上建立一个Google的搜索栏,然后让访问者按Google规定的格式进行查询,那不就能实现Google作为自己站内搜索引擎的功能了吗?但是我们当然不能要求使用者还要特地学习Google对特定网站搜索的格式规范。于是笔者立刻联想到是否可以使用JavaScript脚本使得Google接收的查询关键字后自动加上类似“site:cfan.com.cn”的字符串呢?答案当然是肯定的。在你的网站首页需要放置站内搜索引擎页面的<body>标签的范围内放置如下代码:

  <script type="text/javascript">
  var domainroot="mysite.com"//个人站点域名,替换成你的网站的网址即可
  function Gsitesearch(curobj){
  curobj.q.value="site:"+domainroot+" "+curobj.qfront.value
  }
  </script>
  <form action="http://www.Google.com/search" method="get" onSubmit="Gsitesearch(this)">
  <p>站内搜索:<br/>
  <input name="q" type="hidden" />
  <input name="qfront" type="text" style="width: 180px" /> <input type="submit" value="开始搜索">
  </p>
  </form>

脚本的关键部分在于Gsitesearch函数。语句:“curobj.q.value="site:"+domainroot+" "+curobj.qfront.value”的含义为:将“site:”字符串+变  量domainroot、空格、访客填写的关键字依此合并。既使得搜索格式符合Google的语言规范,又使增加了搜索功能的友好性,不需要用户来遵循Google的搜索规则。

至此,您的专业站内搜索引擎就完成了(见图1 完成的站内引擎)。

如果我们不但要搜索本站的内容,还要让访客同时能搜索兄弟站点或本类网站的内容,该如何修改呢?接下来我们就对我们刚才的代码做一些推广。

    <script type="text/javascript">
  function Gsitesearch(curobj){
  var domainroot=curobj.domainroot[curobj.domainroot.selectedIndex].value
  curobj.q.value="site:"+domainroot+" "+curobj.qfront.value
  }
  </script>
  <form action="http://www.Google.com/search" method="get" onSubmit="Gsitesearch(this)">
  <p>
  <input name="q" type="hidden" />
  <input name="qfront" type="text" style="width: 180px" /> <input type="submit" value="立刻搜索" /><br /><br />
  站点:
  <select name="domainroot">
  <option value="www.mywebsite.net" selected="1">本站</option>
  <option value="www.friend1site.net">友站1</option>
  <option value="www.friend2site.net">友站2</option>
  </select>
  </p>
  </form>

我们只需要将Gsitesearch函数稍做修改,搜索的灵活性就能大大加强。站长只需要增删option选择项,即可实现多站点的内容搜索(见图2 支持多站点的站内搜索引擎)。

小编有话说:有时强大的功能并不需要多么复杂的技术才能实现,而仅仅需要一点灵感和一点专注。

posted @ 2009-04-13 14:20 seal_zqf 阅读(137) | 评论 (0)编辑 收藏

2009年4月3日 #

IE6不支持透明png,下面提供两种方法

1.使用滤镜
<div class="titleImg" style="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='img/taiji1.png')"></div>

2.加入javascript

<script type="text/javascript">

function correctPNG() // correctly handle PNG transparency in Win IE 5.5 & 6.
    {
    var arVersion = navigator.appVersion.split("MSIE");
    var version = parseFloat(arVersion[1]);
    if ((version >= 5.5) && (document.body.filters))
    {
       for(var j=0; j<document.images.length; j++)
       {
          var img = document.images[j];
          var imgName = img.src.toUpperCase();
          if (imgName.substring(imgName.length-3, imgName.length) == "PNG")
          {
             var imgID = (img.id) ? "id='" + img.id + "' " : "" ;
             var imgClass = (img.className) ? "class='" + img.className + "' " : "" ;
             var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' " ;
             var imgStyle = "display:inline-block;" + img.style.cssText ;
             if (img.align == "left") imgStyle = "float:left;" + imgStyle
             if (img.align == "right") imgStyle = "float:right;" + imgStyle
             if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle
             var strNewHTML = "<span " + imgID + imgClass + imgTitle
             + " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
             + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
             + "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>" ;
             img.outerHTML = strNewHTML ;
             j = j-1 ;
          }
       }
    }    
    }
    window.attachEvent("onload", correctPNG);
</script>

///////////////////
不过如果用滤镜的话,firfox就显示不出了,而用js的话图片显示的效果不怎么好。所以如果要兼顾ie 6和firfox,ie 7的话,我的做法是判断浏览器类型如果是ie6的话就用js,是ie7和firfox的话就不做处理

 <%String agent = request.getHeader("User-Agent");
   
    if(agent.indexOf("MSIE 6.0")>0)
    {%>
        <script language="javascript" src="js/correctPng.js"></script>
    <%}

    %>

posted @ 2009-04-03 16:38 seal_zqf 阅读(220) | 评论 (0)编辑 收藏

仅列出标题