请教:如何在xml的转换文件xslt中写一个语句实现——添加一个按钮播放xml中的一个地址

liuyan4794 2004-10-05 08:55:44
请教:如何在xml的转换文件xslt中写一个语句实现——添加一个按钮播放xml中的一个地址
在我的xml文件中有多个音频地址,我想把他们分别转换为一个按钮,单击这些按钮时,分别播放相应的音频
...全文
119 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
liuyan4794 2004-10-07
  • 打赏
  • 举报
回复
谢谢大家
liuyan4794 2004-10-07
  • 打赏
  • 举报
回复
回复人: saucer(思归) ( ) 信誉:495 2004-10-5 10:30:59 得分: 100



1. TestMedia.xml:

<?xml-stylesheet type="text/xsl" href="TestMedia.xsl"?>
<media>
<file>
<name>懂你</name>
<url>http://www.greensunshine.com.cn/jtgg/mp3/dongni.mp3</url>
</file>
<file>
<name>Everything I Do</name>
<url>http://www.loverstory.com/music/adams1.MP3</url>
</file>
</media>

2. TestMedia.xsl:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<html>
<body>
<xsl:apply-templates />
</body>
</html>
</xsl:template>


<xsl:template match="media">
<OBJECT
ID="mediaPlayer"
CLASSID="CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95"
CODEBASE="http://activex.microsoft.com/activex/controls/mplayer/en/
nsmp2inf.cab#Version=5,1,52,701"
STANDBY="Loading Microsoft Windows Media Player components..."
TYPE="application/x-oleobject">
<PARAM NAME="fileName" VALUE=""/>
<PARAM NAME="animationatStart" VALUE="true"/>
<PARAM NAME="transparentatStart" VALUE="true"/>
<PARAM NAME="autoStart" VALUE="true"/>
<PARAM NAME="showControls" VALUE="true"/>
</OBJECT>
<br />

<xsl:apply-templates />
</xsl:template>


<xsl:template match="file">
<input type="button" value="{name}" onclick="mediaPlayer.FileName='{url}'" /><br/>
</xsl:template>

</xsl:stylesheet>



孟子E章 2004-10-07
  • 打赏
  • 举报
回复
http://www.blueidea.com/tech/web/2003/1390.asp
oldrainman 2004-10-07
  • 打赏
  • 举报
回复
http://community.csdn.net/Expert/topic/3427/3427143.xml?temp=.714184
liuyan4794 2004-10-05
  • 打赏
  • 举报
回复
我想让一个media在本网页上播放
孟子E章 2004-10-05
  • 打赏
  • 举报
回复
和在html中差不多,注意标记封闭,格式符合xml即可
孟子E章 2004-10-05
  • 打赏
  • 举报
回复
<input type="button" value="play">
<xsl:attribute name="onclick">window.location=<xsl:value-of select="url"/>
</xsl:attribute>
</input>
liuyan4794 2004-10-05
  • 打赏
  • 举报
回复
自己顶
全书一共被压缩为5个rar,这是第二个!!!! 其他的请看ID:ljtt123(本人分享) 本博客提供的所有教程的资源原稿均来自于互联网,仅供学习交流之用,切勿进行商业传播。同时,转载时不要移除本申明。如产生任何纠纷,均与本博客所有人、发表该文献之人无任何关系。谢谢合作 本书共分4部分,从xml、servlet、jsp和应用的角度向读者展示了java web开发各种技术的应用,循序渐进地引导读者快速掌握java web开发。.   本书内容全面,涵盖了从事java web开发所应掌握的所有知识。在知识的讲解上,本书采用理论与实践相结合的方式,从程序运行的内部机制进行分析讲解,并通过大量的实例和实验来验证并运用本书的知识。.. 本书语言生动、通俗易懂、讲解细致,大部分章节都提供了多个例子,而且很多例子都是目前web开发经常使用的功能,具有相当的实用价值。本书不仅可以作为java web开发的学习用书,还可以作为从事java web开发的程序员的参考用书和必备手册。此外,本书的配套光盘还免费提供了价值人民币330元的java教学视频,对java语言进行了全面讲解,帮助一些不会java语言的读者快速地从java基础知识的学习过渡到java web的学习与开发上. 第1部分 xml篇. 第1章 xml与dtd 2 1.1 xml的产生 2 1.2 w3c介绍 2 1.3 关于xml的几个问题 3 1.4 xml与html的比较 4 1.4.1 xml将数据与显示分开 5 1.4.2 xml对文档的格式要求更加严格 6 1.4.3 xml有且只能有一个根元素 6 1.5 xml的编辑工具 7 1.6 xml文档 8 1.6.1 xml声明 9 1.6.2 文档类型声明 10 1.6.3 元素 11 1.6.4 注释 15 1.6.5 处理指令 15 1.6.6 空白处理 16 1.6.7 行尾处理 16 1.6.8 语言标识 16 1.7 格式良好的xml 17 .1.8 dtd 18 1.8.1 在xml文档引入dtd 18 1.8.2 dtd的结构 21 1.9 有效的xml 35 1.10 xml处理器/解析器 35 1.11 小结 36 第2章 xml名称空间 38 2.1 声明名称空间 38 2.2 名称空间在元素和属性的运用 39 2.2.1 名称空间在元素的运用 39 2.2.2 默认名称空间 41 2.2.3 名称空间在属性的运用 42 2.3 名称空间和dtd 43 2.4 小结 45 第3章 对xml文档进行分析 46 3.1 dom、sax和jaxp 46 3.2 使用dom解析xml文档 47 3.2.1 dom结构模型 47 3.2.2 dom解析器工厂 50 3.2.3 jaxp的错误类和异常类 52 3.2.4 用dom解析xml文档实例 53 3.3 使用sax解析xml文档 65 3.3.1 sax的处理机制 66 3.3.2 配置sax解析器 69 3.3.3 sax解析器工厂 70 3.3.4 sax的异常类 71 3.3.5 errorhandler接口 73 3.3.6 使用sax解析xml文档实例 74 3.4 jdom 83 3.4.1 下载并配置jdom 83 3.4.2 jdom api介绍 84 3.5 dom4j 88 3.5.1 下载并配置dom4j 88 3.5.2 dom4j api介绍 88 3.5.3 第一个实例 92 3.5.4 第二个实例 94 3.6 解析名称空间 96 3.6.1 dom和名称空间 96 3.6.2 sax和名称空间 97 3.6.3 jdom和名称空间 98 3.6.4 dom4j和名称空间 98 3.7 小结 99 第4章 xsl转换 101 4.1 xslt概述 101 4.2 xalan处理器 105 4.3 模板规则 106 4.4 [xsl:apply-templates]元素 107 4.5 [xsl:value-of]元素 108 4.6 [xsl:for-each]元素 110 4.7 匹配节点的模式 111 4.8 mode属性 113 4.9 内置的模板规则 114 4.10 对空白的处理 115 4.11 xpath语言 116 4.11.1 xpath上下文 116 4.11.2 位置路径 117 4.11.3 表达式 121 4.11.4 核心函数库 123 4.12 创建结果树 126 4.12.1 创建元素和属性 127 4.12.2 创建文本 131 4.12.3 创建处理指令 133 4.12.4 创建注释 133 4.12.5 复制节点 134 4.12.6 输出格式化的数字 135 4.13 条件处理 144 4.13.1 [xsl:if] 144 4.13.2 [xsl:choose] 145 4.14 排序 146 4.15 变量和参数 150 4.15.1 变量 150 4.15.2 参数 152 4.16 命名模板 153 4.17 合并样式表 154 4.17.1 导入样式表 154 4.17.2 包含样式表 155 4.18 模板规则冲突的解决 156 4.19 [xsl:output]元素 157 4.19.1 指定输出文档的格式 158 4.19.2 输出xml声明 158 4.19.3 输出文档类型定义 159 4.19.4 输出cdata段 160 4.19.5 指定文档缩进 161 4.19.6 指定媒体类型 161 4.20 xslt的函数 162 4.21 数字格式化 162 4.22 查询和分组 164 4.23 处理多个输入文档 172 4.24 jaxpxslt api 175 4.24.1 转换器工厂 175 4.24.2 transformer和templates 176 4.24.3 一个例子 178 4.25 小结 179 第2部分 servlet篇 第5章 servlet与tomcat 182 5.1 servlet与servlet容器 182 5.2 servlet容器的分类 183 5.3 servlet和其他技术的比较 183 5.4 tomcat介绍 183 5.5 tomcat的安装与配置 184 5.5.1 安装tomcat 185 5.5.2 运行tomcat 186 5.5.3 tomcat启动分析 189 5.5.4 tomcat的体系结构 191 5.6 tomcat的管理程序 193 5.6.1 admin web应用程序 193 5.6.2 manager web应用程序 194 5.7 小结 195 第6章 servlet技术 196 6.1 servlet api 196 6.1.1 servlet接口 196 6.1.2 servlet相关接口与实现类 197 6.2 几个实例 205 6.2.1 实例一:simplehello 205 6.2.2 实例二:welcomeyou 210 6.2.3 实例三:outputinfo 216 6.2.4 实例四:loginservlet 220 6.3 servlet异常 223 6.3.1 servletexception类 224 6.3.2 unavailableexception类 224 6.4 servlet生命周期 224 6.5 servlet上下文 226 6.5.1 servletcontext接口 226 6.5.2 页面访问量统计实例 228 6.6 请求转发 231 6.6.1 requestdispatcher接口 232 6.6.2 得到requestdispatcher对象 232 6.6.3 请求转发的实例 233 6.6.4 sendredirect()和forward()方法的区别 238 6.7 小结 239 第7章 web应用程序的部署 240 7.1 配置任意目录下的web应用程序 240 7.2 war文件 242 7.3 tomcatservlet的另一种运行方式 244 7.4 与servlet配置相关的元素 247 7.4.1 [servlet]元素及其子元素 247 7.4.2 [servlet-mapping]元素及其子元素 249 7.5 一个实例 250 7.6 小结 253 第8章 数据库访问 254 8.1 驱动程序的类型 254 8.1.1 jdbc-odbc桥 254 8.1.2 部分本地api java驱动程序 255 8.1.3 jdbc网络纯java驱动程序 255 8.1.4 本地协议的纯java驱动程序 256 8.2 安装数据库 256 8.3 jdbc api 260 8.3.1 加载并注册数据库驱动 261 8.3.2 建立到数据库的连接 263 8.3.3 访问数据库 264 8.3.4 事务处理 289 8.3.5 可滚动和可更新的结果集 296 8.4 jdbc数据源和连接池 299 8.5 mysql对文的处理 302 8.6 小结 302 第9章 会话跟踪 303 9.1 用于会话跟踪的技术 303 9.1.1 ssl会话 304 9.1.2 cookies 304 9.1.3 url重写 305 9.2 java servlet api的会话跟踪 306 9.2.1 httpsession接口 306 9.2.2 session的生命周期 307 9.2.3 cookie的应用 319 9.2.4 httpsessionbindinglistener接口 328 9.2.5 在线人数统计程序 329 9.3 小结 335 第10章 servlet的异常处理机制 337 10.1 声明式异常处理 338 10.1.1 http错误代码的处理 338 10.1.2 java异常的处理 341 10.2 程序式异常处理 343 10.2.1 在try-catch语句处理异常 343 10.2.2 使用requestdispatcher来处理异常 346 10.3 小结 349 第11章 开发线程安全的servlet 350 11.1 多线程的servlet模型 350 11.2 线程安全的servlet 351 11.2.1 变量的线程安全 351 11.2.2 属性的线程安全 360 11.3 singlethreadmodel接口 362 11.4 小结 363 11.5 思考题 363 第3部分 jsp篇 第12章 jsp技术 366 12.1 jsp简介 366 12.2 jsp的运行机制 366 12.3 jsp的语法 371 12.3.1 指令元素(directive elements) 371 12.3.2 脚本元素(scripting elements) 374 12.3.3 动作元素(action elements) 376 12.3.4 注释 383 12.4 jsp的隐含对象 383 12.4.1 pagecontext 384 12.4.2 out 385 12.4.3 page 385 12.4.4 exception 386 12.5 对象和范围 387 12.6 留言板程序 389 12.7 留言板管理程序 397 12.8 jsp文档 402 12.8.1 jsp文档的标识 404 12.8.2 jsp文档的元素语法 404 12.9 小结 407 第13章 jsp与javabean 409 13.1 javabean简介 409 13.1.1 属性的命名 409 13.1.2 属性的类型 411 13.2 在jsp使用javabean 412 13.2.1 [jsp:usebean] 412 13.2.2 [jsp:setproperty] 413 13.2.3 [jsp:getproperty] 414 13.2.4 示例 414 13.3 网上书店程序 418 13.4 小结 440 第14章 jsp开发的两种模型 441 14.1 模型1 441 14.2 模型2 445 14.3 小结 449 第15章 标签库(tag library) 450 15.1 标签库api 450 15.1.1 标签的形式 451 15.1.2 tag接口 451 15.1.3 iterationtag接口 453 15.1.4 bodytag接口 454 15.2 标签库描述符 455 15.2.1 [taglib]元素 456 15.2.2 [validator]元素 457 15.2.3 [listener]元素 457 15.2.4 [tag]元素 458 15.2.5 [tag-file]元素 460 15.2.6 [function]元素 461 15.3 传统标签的开发 462 15.3.1 实例一:[hello]标签 462 15.3.2 实例二:[max]标签 465 15.3.3 实例三:[greet]标签 467 15.3.4 实例四:[switch]标签 469 15.3.5 实例五:[iterate]标签 473 15.4 简单标签的开发 479 15.4.1 simpletag接口 479 15.4.2 实例一:[welcome]标签 480 15.4.3 实例二:[max_ex]标签 481 15.5 小结 483 第16章 表达式语言(el) 484 16.1 语法 484 16.1.1 “[ ]”和“.”操作符 484 16.1.2 算术操作符 484 16.1.3 关系操作符 485 16.1.4 逻辑操作符 485 16.1.5 empty操作符 485 16.1.6 条件操作符 485 16.1.7 圆括号 486 16.1.8 操作符的优先级 486 16.2 隐含对象 486 16.3 命名变量 487 16.4 保留的关键字 488 16.5 函数 488 16.6 小结 489 第17章 jsp标准标签库(jstl) 490 17.1 jstl简介 490 17.2 配置jstl 491 17.3 core标签库 491 17.3.1 一般用途的标签 492 17.3.2 条件标签 496 17.3.3 迭代标签 498 17.3.4 url相关的标签 501 17.4 i18n标签库 506 17.4.1 国际化标签 506 17.4.2 格式化标签 511 17.5 sql标签库 520 17.5.1 [sql:setdatasource] 520 17.5.2 [sql:query] 521 17.5.3 [sql:param] 524 17.5.4 [sql:dateparam] 525 17.5.5 [sql:update] 526 17.5.6 [sql:transaction] 527 17.6 xml标签库 529 17.6.1 核心操作 529 17.6.2 流程控制 532 17.6.3 转换操作 536 17.7 functions标签库 539 17.7.1 fn:contains 539 17.7.2 fn:containsignorecase 539 17.7.3 fn:startswith 540 17.7.4 fn:endswith 541 17.7.5 fn:indexof 541 17.7.6 fn:replace 542 17.7.7 fn:substring 543 17.7.8 fn:substringbefore 544 17.7.9 fn:substringafter 544 17.7.10 fn:split 545 17.7.11 fn:join 546 17.7.12 fn:tolowercase 547 17.7.13 fn:touppercase 547 17.7.14 fn:trim 548 17.7.15 fn:escapexml 548 17.7.16 fn:length 549 17.8 小结 549 第18章 标签文件(tag files) 551 18.1 标签文件的语法 551 18.2 一个简单的标签文件 551 18.3 标签文件的隐含对象 554 18.4 标签文件的指令 555 18.4.1 tag指令 555 18.4.2 attribute指令 556 18.4.3 variable指令 557 18.5 标签文件实例讲解 558 18.5.1 实例一:[welcome]标签 558 18.5.2 实例二:[tohtml]标签 559 18.6 [jsp:invoke]动作元素 561 18.7 [jsp:dobody]动作元素 562 18.8 小结 562 第4部分 应用篇 第19章 使用log4j进行日志操作 564 19.1 log4j介绍 564 19.1.1 logger组件 564 19.1.2 appender组件 566 19.1.3 layout组件 567 19.2 使用log4j 568 19.3 log4j使用实例 572 19.4 ndc和mdc 585 19.5 小结 587 第20章 filter在web开发的应用 588 20.1 过滤器概述 588 20.2 filter api 589 20.2.1 filter接口 589 20.2.2 filterconfig接口 590 20.2.3 filterchain接口 590 20.3 过滤器的部署 591 20.4 过滤器的开发 592 20.5 对用户进行统一验证的过滤器 594 20.6 对请求和响应数据进行替换的 20.6 过滤器 600 20.7 小结 609 第21章 文乱码问题与国际化 610 21.1 文乱码问题产生的由来 610 21.1.1 常用字符集 610 21.1.2 对乱码产生过程的分析 612 21.2 文乱码问题的解决方案 614 21.3 使用过滤器解决文问题 616 21.4 让tomcat支持文件名 620 21.5 国际化与本地化 621 21.5.1 locale 621.. 21.5.2 资源包 623 21.5.3 编写国际化的web应用程序 625 21.6 小结 629 第22章 使用jbuilder2005开发web 第22章 应用程序 630 22.1 jbuilder2005简介 630 22.2 集成开发环境介绍 631 22.2.1 菜单栏 631 22.2.2 主工具栏 632 22.2.3 工程工具栏和工程窗口 632 22.2.4 结构窗口 633 22.2.5 文件标签和内容窗口 634 22.2.6 文件视图标签 634 22.2.7 消息窗口 637 22.3 jbuilder2005的基本配置 638 22.3.1 配置jdk 638 22.3.2 配置web服务器 640 22.4 文件的上传和下载 642 22.4.1 基于表单的文件上传 642 22.4.2 文件上传格式分析 643 22.4.3 commons-fileupload组件 644 22.4.4 文件上传实例 646 22.4.5 文件下载实例 656 22.5 给图片添加水印和文字 664 22.6 小结 667 第23章 开发安全的web应用程序 668 23.1 概述 668 23.2 理解验证机制 669 23.2.1 http basic authentication 669 23.2.2 http digest authentication 670 23.2.3 https client authentication 670 23.2.4 form based authentication 671 23.3 声明式安全 671 23.3.1 [security-constraint]元素 671 23.3.2 [login-config]元素 673 23.3.3 基本验证的实现 674 23.3.4 基于表单验证的实现 676 23.3.5 使用数据库保存用户名和密码 678 23.4 程序式安全 682 23.5 sql注入攻击的防范 685 23.6 小结 687 第24章 web应用程序开发实例 688 24.1 图像的缩放 688 24.2 如何动态生成验证码 692 24.3 如何避免表单的重复提交 696 24.3.1 在客户端避免表单的重复提交 697 24.3.2 在服务器端避免表单的重复 24.3.2 提交 700 24.4 小结 706 第25章 使用ant辅助web应用程序 第25章 开发 707 25.1 ant介绍 707 25.2 安装并配置ant 708 25.2.1 下载并安装ant 708 25.2.2 设置ant的运行环境 708 25.3 编写ant的构建文件 709 25.3.1 准备工作 709 25.3.2 工程([project]) 712 25.3.3 目标([target]) 713 25.3.4 任务 714 25.3.5 path-like structures 728 25.3.6 引用(references) 729 25.4 部署到tomcat 730 25.5 运行ant 732 25.6 小结 732 第26章 xmlxslt在web开发的 第26章 应用 733 26.1 功能概述 733 26.2 程序设计 733 26.2.1 软件架构 733 26.2.2 页面设计 735 26.2.3 数据库设计 747 26.3 程序实现 749 26.3.1 org.sunxin.guestbook 749 26.3.2 org.sunxin.guestbook.beans 750 26.3.3 org.sunxin.guestbook.util 758 26.3.4 org.sunxin.guestbook.parser 762 26.3.5 org.sunxin.guestbook.controller 765 26.3.6 org.sunxin.guestbook.view 787 26.3.7 page.xsl 791 26.3.8 web.xml 797 26.3.9 context.xml 798 26.4 小结 798 附录a 快速掌握html 799 附录b 解析http 820 附录c server.xml文件 833 附录d web.xml文件 840 索引 852...
第Ⅰ部分 初步了解Python 第1章 编程基础和字符串 3 1.1 编程与使用计算机的区别 3 1.1.1 编程的一致性 3 1.1.2 编程的可控性 4 1.1.3 程序要应对变化 4 1.1.4 小结 4 1.2 准备工作 4 1.2.1 在非Windows系统上安装 Python 3.1 5 1.2.2 使用Python Shell 5 1.3 开始使用Python——字符串 6 1.3.1 字符串概述 6 1.3.2 为什么需要引号 6 1.3.3 为什么有3种类型的引号 7 1.3.4 使用print()函数 7 1.3.5 理解不同的引号 8 1.4 串联两个字符串 10 1.5 用不同的方法串联字符串 11 1.6 本章小结 12 1.7 习题 13 第2章 数值与运算符 15 2.1 不同类型的数值 15 2.2 程序文件 17 2.2.1 使用不同的类型 18 2.2.2 基本算术 20 2.2.3 一些惊喜 22 2.3 使用数值 23 2.3.1 求值顺序 23 2.3.2 数值格式 24 2.3.3 可能会发生的错误 25 2.3.4 几个不寻常的例子 26 2.4 本章小结 26 2.5 习题 27 第3章 变量 29 3.1 引用数据——使用数据的 名称 29 3.1.1 使用名称修改数据 30 3.1.2 复制数据 31 3.1.3 禁用的名称以及一些规则 31 3.2 使用更多的内置类型 31 3.2.1 元组——不可更改的数据 序列 32 3.2.2 列表——可以更改的数据 序列 35 3.2.3 字典——以名称索引的分组 数据 36 3.2.4 像列表一样处理字符串 38 3.2.5 特殊类型 39 3.3 序列的其他共有属性 40 3.3.1 引用最后一个元素 40 3.3.2 序列的范围 41 3.3.3 通过附加序列增长列表 41 3.3.4 使用列表临时存储数据 42 3.3.5 处理集合 43 3.4 本章小结 44 3.5 习题 44 第Ⅱ部分 Python语言和标准库 第4章 做出决策 49 4.1 比较两个值是否相等 49 4.2 比较两个值是否不相等 51 4.3 比较两个值的大小 51 4.4 对真值和假值取反 53 4.5 观察多个比较运算的结果 54 4.6 循环 57 4.6.1 重复执行操作 57 4.6.2 终止循环 59 4.7 处理错误 62 4.8 本章小结 64 4.9 习题 65 第5章 函数 67 5.1 将程序放在单独的文件 67 5.2 函数:在一个名称下聚集 代码 69 5.2.1 选择名称 70 5.2.2 在函数描述函数 70 5.2.3 不同的位置相同的名称 72 5.2.4 添加注释 73 5.2.5 要求函数使用提供的值 73 5.2.6 检查参数 75 5.2.7 为参数设置默认值 77 5.2.8 在函数调用其他函数 78 5.2.9 函数嵌套函数 80 5.2.10 用自己的词语标记错误 81 5.3 函数的层次 81 5.4 本章小结 82 5.5 习题 83 第6章 类与对象 85 6.1 考虑编程 85 6.1.1 对象的含义 85 6.1.2 已经了解的对象 85 6.1.3 展望:如何使用对象 87 6.2 定义类 87 6.2.1 如何创建对象 87 6.2.2 对象和它们的作用域 95 6.3 本章小结 98 6.4 习题 99 第7章 组织程序 101 7.1 模块 102 7.1.1 导入可用模块 102 7.1.2 通过已有模块创建新模块 102 7.1.3 从命令行开始使用模块 104 7.1.4 改变导入方式 106 7.2 包 106 7.3 模块和包 108 7.3.1 将所有内容引入当前 作用域 108 7.3.2 重新导入模块和包 109 7.4 测试模块和包的基础知识 111 7.5 本章小结 112 7.6 习题 112 第8章 文件和目录 115 8.1 文件对象 115 8.1.1 编写文本文件 116 8.1.2 向文件追加文本 116 8.1.3 读文本文件 117 8.1.4 文件异常 119 8.2 路径和目录 119 8.3 os的异常 119 8.3.1 路径 120 8.3.2 目录内容 122 8.3.3 获取文件信息 123 8.3.4 重命名、移动、复制和删除 文件 125 8.3.5 示例:轮换文件 126 8.3.6 创建和删除目录 127 8.3.7 通配 128 8.4 本章小结 129 8.5 习题 129 第9章 Python语言的其他特性 131 9.1 lambda和filter:简单匿名 函数 131 9.2 Map:短路循环 132 9.3 在列表做出决策—— 列表解析 133 9.4 为循环生成迭代器 133 9.5 使用字典的特殊字符串 替换 135 9.6 重要模块 137 9.6.1 getopt——从命令行得到 选项 137 9.6.2 使用一个以上的进程 139 9.6.3 线程——在相同的进程 完成多个工作 141 9.7 本章小结 143 9.8 习题 144 第10章 创建模块 145 10.1 研究模块 145 10.1.1 导入模块 147 10.1.2 查找模块 147 10.1.3 理解模块 148 10.2 创建模块和包 149 10.3 使用类 150 10.3.1 定义面向对象编程 151 10.3.2 创建类 151 10.3.3 扩展已有的类 152 10.4 完成模块 153 10.4.1 定义模块特定的错误 154 10.4.2 选择导出哪些内容 154 10.4.3 为模块建立文档 155 10.4.4 测试模块 164 10.4.5 将模块作为程序运行 165 10.5 创建一个完整的模块 166 10.6 安装模块 171 10.7 本章小结 174 10.8 习题 175 第11章 文本处理 177 11.1 文本处理的用途 177 11.1.1 搜索文件 178 11.1.2 日志剪辑 179 11.1.3 邮件筛选 179 11.2 使用os模块导航文件 系统 179 11.3 使用正则表达式和re 模块 185 11.4 本章小结 189 11.5 习题 189 第Ⅲ部分 开始使用Python 第12章 测试 193 12.1 断言 193 12.2 测试用例和测试套件 195 12.3 测试装置 198 12.4 用极限编程整合 201 12.4.1 用Python实现搜索实用 程序 202 12.4.2 一个更加强大的Python 搜索 207 12.5 软件生命周期的正规 测试 210 12.6 本章小结 210 第13章 使用Python编写GUI 213 13.1 Python的GUI编程工具箱 213 13.2 Tkinter简介 215 13.3 用Tkinter创建GUI 小组件 215 13.3.1 改变小组件的尺寸 215 13.3.2 配置小组件选项 216 13.3.3 使用小组件 217 13.3.4 创建布局 217 13.3.5 填充顺序 218 13.3.6 控制小组件的外观 219 13.3.7 单选按钮和复选框 220 13.3.8 对话框 221 13.3.9 其他小组件类型 222 13.4 本章小结 222 13.5 习题 223 第14章 访问数据库 225 14.1 使用dbm持久字典 226 14.1.1 选择dbm模块 226 14.1.2 创建持久字典 227 14.1.3 访问持久字典 228 14.1.4 dbm与关系数据库的适用 场合 230 14.2 使用关系数据库 231 14.2.1 编写SQL语句 232 14.2.2 定义表 234 14.2.3 建立数据库 235 14.3 使用Python的数据库API 237 14.3.1 下载各个模块 237 14.3.2 创建连接 238 14.3.3 使用游标 238 14.3.4 使用事务并提交结果 245 14.3.5 检查模块的功能和元 数据 246 14.3.6 处理错误 246 14.4 本章小结 247 14.5 习题 248 第15章 使用Python处理XML 249 15.1 XML的含义 249 15.1.1 层次标记语言 249 15.1.2 一组标准 251 15.2 模式/DTD 251 15.2.1 文档模型的用途 251 15.2.2 是否需要文档模型 252 15.3 文档类型定义 252 15.3.1 DTD示例 252 15.3.2 DTD不完全是XML 253 15.3.3 DTD的局限性 253 15.4 模式 254 15.4.1 示例模式 254 15.4.2 模式是纯粹的XML 254 15.4.3 模式具有层次 255 15.4.4 模式的其他优点 255 15.5 XPath 255 15.6 HTML是XML的子集 256 15.6.1 HTML DTD 256 15.6.2 HTMLParser 256 15.7 Python可用的XML库 257 15.8 SAX的含义 257 15.8.1 基于流 258 15.8.2 事件驱动 258 15.8.3 DOM的含义 258 15.8.4 内存访问 258 15.9 使用SAX或者DOM的 理由 259 15.9.1 能力权衡 259 15.9.2 内存考虑 259 15.9.3 速度考虑 259 15.10 Python可用的SAX 和DOM解析器 259 15.10.1 xml.sax 259 15.10.2 xml.dom.minidom 260 15.11 XSLT简介 262 15.11.1 XSLTXML 262 15.11.2 转换和格式语言 263 15.11.3 函数式、模板驱动 263 15.12 lxml简介 263 15.13 元素类 263 15.14 使用lxml解析 266 15.15 本章小结 267 15.16 习题 267 第16章 网络编程 269 16.1 理解协议 271 16.1.1 比较协议和程序语言 271 16.1.2 Internet协议栈 272 16.1.3 Internet协议简介 273 16.2 发送电子邮件 274 16.2.1 E-mail文件格式 275 16.2.2 MIME消息 276 16.2.3 使用SMTP和smtplib发送 邮件 284 16.3 检索Internet邮件 286 16.3.1 使用mailbox解析本地 邮筒 286 16.3.2 使用poplib从POP3 服务器获取邮件 288 16.3.3 使用imaplib从IMAP 服务器获取邮件 290 16.3.4 安全的POP3和IMAP 294 16.3.5 Webmail应用程序不是 E-mail应用程序 294 16.4 套接字编程 294 16.4.1 套接字简介 295 16.4.2 绑定到外部主机名 297 16.4.3 镜像服务器 298 16.4.4 镜像客户端 299 16.4.5 套接字服务器 300 16.4.6 多线程服务器 302 16.4.7 Python聊天服务器 303 16.4.8 设计Python聊天 服务器 303 16.4.9 Python聊天服务器协议 304 16.4.10 Python聊天客户端 309 16.4.11 基于select的单线程 多任务 312 16.5 其他主题 313 16.5.1 协议设计的多种考虑 313 16.5.2 对等架构 314 16.6 本章小结 314 16.7 习题 315 第17章 用C扩展编程 317 17.1 扩展模块概述 318 17.2 构建并安装扩展模块 320 17.3 从Python向C传递参数 322 17.4 从C向Python返回值 325 17.5 LAME项目 326 17.6 LAME扩展模块 330 17.7 在C代码使用Python 对象 342 17.8 本章小结 345 17.9 习题 346 第18章 数值编程 347 18.1 Python语言的数值 347 18.1.1 整数 348 18.1.2 长整数 348 18.1.3 浮点数 349 18.1.4 格式化数值 350 18.1.5 作为数值的字符 352 18.2 数学 353 18.2.1 算术运算 354 18.2.2 内置数学函数 355 18.3 复数 357 18.4 数组 359 18.5 本章小结 363 18.6 习题 363 第19章 Django简介 365 19.1 框架的定义以及使用框架的 理由 365 19.2 Web框架的其他功能 366 19.3 Django发展史 367 19.4 理解Django的架构 368 19.4.1 项目初始设置 368 19.4.2 创建视图 371 19.5 使用模板 373 19.6 使用模板和视图 375 19.6.1 模型 378 19.6.2 创建模型的第一步—— 配置数据库设置 379 19.7 创建模型:创建一个应用 程序 380 19.8 本章小结 382 19.9 习题 383 第20章 Web应用程序与Web 服务 385 20.1 REST:Web架构 386 20.1.1 REST的特性 386 20.1.2 REST操作 388 20.2 HTTP:REST的实际应用 388 20.2.1 可见的Web服务器 390 20.2.2 HTTP请求 393 20.2.3 HTTP响应 393 20.3 CGI:将脚本变为Web应用 程序 395 20.3.1 Web服务器与CGI脚本的 协议 397 20.3.2 CGI的特殊环境变量 397 20.3.3 通过HTML表单接收用户 输入 399 20.4 HTML表单的有限词汇 400 20.5 访问表单值的安全性 401 20.6 构建wiki 405 20.6.1 BittyWiki核心库 406 20.6.2 BittyWiki的Web接口 409 20.7 Web服务 418 20.8 REST Web 服务 419 20.8.1 REST快速入门: 在Amazon.com上寻找 廉价商品 419 20.8.2 WishListBargainFinder 简介 422 20.8.3 向BittyWiki提供 REST API 425 20.8.4 使用REST Web服务 实现搜索和替换功能 428 20.9 XML-RPC 432 20.9.1 XML-RPC请求 434 20.9.2 XML-RPC的数据 表示 434 20.9.3 XML-RPC响应 435 20.9.4 错误处理机制 436 20.9.5 通过XML-RPC展示 BittyWiki API 437 20.9.6 基于XML-RPC Web服务 的wiki搜索和替换 440 20.10 SOAP 442 20.10.1 SOAP快速入门 442 20.10.2 SOAP请求 443 20.10.3 SOAP响应 444 20.10.4 错误处理机制 444 20.10.5 展示一个BittyWiki的 SOAP接口 445 20.10.6 基于SOAP Web服务的 wiki搜索和替换 447 20.11 为Web服务API创建 文档 449 20.11.1 人类可读的API 文档 449 20.11.2 XML-RPC自省API 450 20.11.3 WSDL 451 20.12 选择Web服务标准 455 20.13 Web服务礼仪 456 20.13.1 Web服务的使用者 礼仪 456 20.13.2 Web服务的创建者 礼仪 456 20.13.3 将Web应用程序作为 Web服务使用 456 20.14 本章小结 456 20.15 习题 457 第21章 集成Java与Python 459 21.1 在Java应用程序编写 脚本 460 21.2 比较各种Python实现 461 21.3 安装Jython 461 21.4 运行Jython 461 21.4.1 交互地运行Jython 461 21.4.2 运行Jython脚本 463 21.4.3 控制jython脚本 463 21.4.4 创建可执行命令 464 21.5 独立运行Jython 465 21.6 打包基于Jython的应用 程序 466 21.7 集成Java和Jython 466 21.7.1 在Jython使用 Java类 466 21.7.2 从Jython访问数据库 471 21.7.3 通过Jython编写 Java EE servlet 477 21.7.4 选择Jython开发工具 483 21.8 使用Jython进行测试 483 21.9 嵌入Jython解释器 484 21.10 处理C-Python和Jython 之间的差异 487 21.11 本章小结 488 21.12 习题 488 第Ⅳ部分 附 录 附录A 习题答案 491 附录B 在线资源 519 附录C Python 3.1的新特性 521 附录D 术语表 527

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧