<form id="index-search_form" method="post" > <input type="text" id="s" value="" onkeydown="javascript:if(event.keyCode==13) return false;" onkeyup="javascript:if(event.keyCode==13) dosearch();" class="swap_value" /> <img onclick="dosearch();" src=/blog_article/"${ctx/index.html }/MINIUI/scripts/miniui/themes/default/images/img/btn_search_box2.gif" width="36" height="26" id="go" alt="Search" title="Search" /> </form>
function dosearch(){ var keywords=$("#s").val(); keywords=encodeURI(keywords); keywords=encodeURI(keywords); // window.open("${ctx}/DispatchAction.do?serviceName=SearchWeb&efFormEname=FS01&methodName=query&i-0-page=0&i-0-keywords="+keywords+"&i-0-moduleId=bmoa_badc"); location.href=/blog_article/"${ctx}/DispatchAction/serviceName/SearchWeb/amp;efFormEname/FS01/amp;methodName/query/amp;i-0-page/0/amp;i-0-keywords/quot; keywords;.do }
TinyXML是一个开源的解析XML的解析库,能够用于C++,能够在Windows或Linux中编译,使用TinyXML进行C++ XML解析,使用简单,容易上手。
这个解析库的模型通过解析XML文件,然后在内存中生成DOM模型,从而让我们很方便的遍历这棵XML树。
DOM模型即文档对象模型,是将整个文档分成多个元素(如书、章、节、段等),并利用树型结构表示这些元素之间的顺序关系以及嵌套包含关系。
在TinyXML中,根据XML的各种元素来定义了一些类:
TiXmlBase:整个TinyXML模型的基类。
TiXmlAttribute:对应于XML中的元素的属性。
TiXmlNode:对应于DOM结构中的节点。
TiXmlComment:对应于XML中的注释。
TiXmlDeclaration:对应于XML中的申明部分,即< versiong="1.0" >。
TiXmlDocument:对应于XML的整个文档。
TiXmlElement:对应于XML的元素。
TiXmlText:对应于XML的文字部分。
TiXmlUnknown:对应于XML的未知部分。
TiXmlHandler:定义了针对XML的一些操作。
本文运行环境是: Redhat 5.5 + g++version 4.6.1 + GNU Make 3.81 + tinyxml_2_6_2
下载地址是:http://sourceforge.net/projects/tinyxml/
解压之后得到文件夹tinyxml,tinyxml的头文件和cpp文件,都在这个文件夹,为了我们的管理我们的项目工程,我们还是把tinyxml做一个整理。
由于tinyxml不仅支持Linux编译,同时也支持windows下编译,所以解压之后不仅有h文件,cpp文件,还有vc工程的一些工程文件,这里我们只在Linux上使用,所以只留下h文件和cpp文件,其他文件一概删除
这里我列出整理后的工作目录:
tinyxml/ //工作目录
|-- include //头文件根目录
| |-- tinyxml //tinyxml头文件,包括tinystr.h tinyxml.h
|-- src //cpp源码文件根目录
|-- tinyxml //tinyxml源码文件夹,包括tinystr.cpp tinyxml.cpp tinyxmlerror.cpp tinyxmlparser.cpp
|-- main.cpp //我们的主函数,调用tinyxml的示例代码
|-- conf //我们示例中用的xml文件所在的文件夹
|-- makefile //makefile,不用我们多说了吧,不懂请看我博客的makefile最佳实践
我们在conf目录下建立student.xml,xml代码如下:
"软件学院"<
"C++"<
"tinyxml" number="123"<
tinyxml@163.com
中国
"jsoncpp" number="456
为了提升用户体验,网站用户在上传图片的时候,我们不能够让用户自己去处理图片以达到我们的要求。
而通常像淘宝上商品实物展示这样的页面,我们需要控制的主要是图片的宽度。
又考虑到html页面解析顺序可能导致的一些问题,决定通过定义一个简单的功能函数,然后在img元素中添加onload事件来调用的方式进行实现,代码如下:
JS部分
2 function changeImg(objImg)
3 {
4 var most = 690; //设置最大宽度
5 if(objImg.width > most)
6 {
7 var scaling = 1-(objImg.width-most)/most; //计算缩放比例
8 objImg.width = objImg.width*scaling;
9 objImg.height = objImg.height*scaling;
10 }
11
12 }
13 </script>
HTML调用部分
各位献丑了...
本文链接