授课内容
XML语法
XML约束
XML解析【重点】 以应用为主
一 XML基本概述
1. XML简单的历史介绍
1969年 GML 通用标记语言
用于计算机之间的通信,通信就会传输数据,那么就需要一种数据的规范
1985年 SGML 标准通用标记语言
对GML进行完善
1993年 HTML 超文本的标记语言(HyperText Markup Language)
随着万维网的推广,在SGML的基础上,又出现了HTML语言,用于万维网上的页面展示
但HTML有不少缺陷:
a.标签不能扩展,不能自定义,只能使用默认的
b.兼容性不好(不同浏览器同一页面效果可能不一样)
c.不能描述数据(主要做页面展示)
例如描述一个学生信息 name:张三 id:12 age:23
1998年 XML 可扩展的标记语言(Extensible Markup Language)
W3C组织在1998年推出了可扩展标记语言XML(W3C万维网联盟创建于1994年,是Web技术领域最具权威和影响力的国际中立性技术标准机构)。
XML语言的本身是用来替代HTML语言的,但是俩种语言还有一定差异的,所以中间出现了一种过渡的语言:XHTML。但实际上XML语言已经很难替代HTML语言了,因为HTML语言的使用在整个万维网上使用太广泛了。
XML中标签可以自定义,描述性很好,例如:
lucy
24
2. XML显著优点
可扩展标记
可描述数据
传输数据案例:
项目小组
组长:张三
组员:。。。
测试:李四
监督人员:。。。
<项目小组 项目名称="Xxx系统">
<组长>张三组长>
<组员们>
<组员>...组员>
<组员>...组员>
<组员>...组员>
组员们>
<测试人员们>
<测试人员>...测试人员>
<测试人员>...测试人员>
<测试人员>...测试人员>
测试人员们>
<监督人员>李四监督人员>
项目小组>
3. XML有什么作用,为什么要学习XML
第一个用处: 做数据传输,具备一定的格式
a.数据的可读性
b.将来的扩展
c.将来的维护
XML现在已经是业内传输数据的标准,它和开发语言无关。
第二个用处: 配置文件,之前使用的.properties资源文件中描述的信息不丰富,无法描述层次复杂的数据
第三个用处: 保存数据,充当小型的数据库
保存数据一般是使用数据库保存,或者使用一般的文件保存,这个时候也可以选择XML文件,因为XML可以描述复杂的数据关系。从普通文件中读取数据的速度肯定是比从数据库中读取数据的速度快,只不过这样不是很安全而已
二 XML基本语法
xml: 可扩展的标记语言
1.文档声明
XML文件的后缀为.xml;
XML文本要求文件有一个头部声明(用来告诉解析器一些相关信息);
头部声明是给解析器看的,表明当前文件是xml文件,XML版本为1.0,文件内容使用的字符编码为UTF-8。
注意:要小心在系统中这个xml文件保存时候的编码,是否和文件内容中设置的编码一致;
头部声明可以省略,如果不写,会默认加上。
注意:
XML语法很严格,只要有问题,浏览器就无法正常显示;
如果文件的保存格式不对,无法显示;
如果文件格式上有任何问题,也无法显示。
ansi (American National Standards Institute)美国国家标准协会
ansi编码 是这个协会组织指定的一种字符编码
ansi编码在不同国家表示是不用的 中文操作系统中的ansi编码是GB2312 GBK
2.元素
2.1根元素
每个XML文档必须有且只有一个根元素;
根元素是一个完全包括文档中其他所有元素的元素;
根元素的起始标记要放在所有其他元素的起始标记之前;
根元素的结束标记要放在所有其他元素的结束标记之后。
2.2标签
xml文件中的标记也可以叫标签、元素、节点。
XML元素指XML文件中出现的标签,一个标签分为开始标签和结束标签,一个标签有如下几种书写形式;
例如:
包含标签体:www.baidu.com
不含标签体的: , 可以简写为:
一个标签中也可以嵌套若干子标签,但所有标签必须合理的嵌套,
例如:你好!程序员 ;
但绝对不允许交叉嵌套。
例如:你好!程序员
2.3 标签内容
对于XML标签中出现的所有空格和换行,XML解析程序都会当作标签内容进行处理。
例如:下面两段内容的意义是不一样的(解析阶段才关心)。
tom
tom
由于在XML中,空格和换行都作为原始内容被处理,所以,在编写XML文件时,要特别注意。但是在一些封装好的解析方式中,是可以忽略掉这些空格和换行的。(例如在一些第三方提供的jar包中)
2.4 元素命名规则
一个XML元素可以包含字母、数字以及其它一些可见字符,但必须遵守下面的一些规范:
a. 区分大小写,例如,
和
是两个不同的标记。
b. 不能以数字开头.
c. 不能包含空格。
注意,XML语法十分严格,以上提到的点,任何一点出问题都不能在浏览器中正常显示。
3.属性
属性出现在 起始标签内部,和标签名用空格隔开。
它的基本格式为:
<元素名 属性名1="属性值" 属性名2="属性值" ...>
注意:
a. 一个元素可以有多个属性;
b. 属性值用双引号(")或单引号(')括起来;
c. 特定的属性名称在同一个元素标记中只能出现一次;
b. 属性值不能包括<, >, &等特殊字符。
例如:
TOM
4.实体 ENTITY
xml文件中有些特殊的字符是不能直接表示出来的,例如:大于号,小于号,单引号、双引号等等,为了表示它们,我们可以借助实体完成。
实体可以分为两类:预定义实体、自定义实体。
a.预定义字符实体,由XML规范预先定义好了
< <
> >
& &
" "
' '
注意:使用实体的格式是 &实体名字;
b.自定义实体 ENTITY
定义格式:
...
]>
eg:
]>
其中:company为实体名称;
"昆山杰普软件科技有限公司"是实体内容;
实体的使用 &company;
4.注释
注意:
a. 注释内容中不要出现--;
b. 不要把注释放在标记内部;
>TOM 是不合适的
c. 注释不能嵌套;
d. 可以在除标记以外的任何地方放注释;
5.PCDATA,CDATA
在XML文件内部,有两部分数据组成:可以解析的,不能解析的
可以解析的 PCDATA
不需要|不可以解析的 CDATA
PCDATA (Parsed Character Data) 会被xml文档解析器解析的,但是有些特殊字符需要借助实体才可以被解析器解析,XML文件中的正常内容基本都是PCDATA。
CDATA (Character Data) 不会被xml文档解析器解析的,按字符串原样输出。
有些内容,例如< > &不想让解析,按照内容原样输出就可以了,这种情况可以使用CDATA。
格式:
例如:
使用这个东西,我们可以保存二进制文件(图片)。
后期myBatic里面用xml存放sql语句,里面包含很多特殊字符,也要用到CDATA。
6.处理指令
处理指令,简称PI (processing instruction),用来指挥解析引擎解析XML文档内容。
例如,在XML文档中可以使用css文件来指挥解析器解析xml文件,需要用到的指令为:xml-stylesheet
注意:
处理指令必须以 作为开头,以 ?> 作为结尾,XML文件的头部声明语句就是最常见的一种处理指令;
XML文件中可以有多个处理指令。
例如: class.xml文件:
张三
20
李四
20
class.css文件:
name{
font-size:30px;
font-weight:bold;
color:red;
}
age{
font-size:30px;
font-weight:bold;
color:green;
}
四 XML命名空间 namespace
在实际项目中,不同人员可能会在两个不同文档中使用相同的元素名,单独编码测试没有问题,但是项目整合时,就会出现命名冲突问题,命名空间可以很好的解决这个问题。
1.XML 命名空间提供避免元素命名冲突的方法
在 XML 中,元素名称是由开发者定义的,当两个不同的文档使用相同的元素名时,就会发生命名冲突。
例如,下面 XML 文档携带着某个表格中的信息:
另一个XML 文档携带有关桌子的信息(一件家具):
假如这两个 XML 文档被一起使用,由于两个文档都包含带有不同内容和定义的
元素,就会发生命名冲突。XML 解析器无法确定如何处理这类冲突。
2.命名冲突解决方案
第一种解决方案:
使用前缀来避免命名冲突。
例如:
Apples
Bananas
此 XML 文档携带着有关一件家具的信息:
茶几
80
120
现在,命名冲突不存在了,这是由于两个文档都使用了不同的名称来命名它们的
元素 ( 和 )。
通过使用前缀,我们创建了两种不同类型的
元素。
但解析器在解析过程中,会出现新的问题:前缀未绑定命名空间!
第二种解决方案:
使用命名空间(Namespaces)。
这个 XML 文档携带着某个表格中的信息:
Apples
Bananas
此 XML 文档携带着有关一件家具的信息:
茶几
80
120
与仅仅使用前缀不同,我们为
标签添加了一个 xmlns 属性,这样就为前缀赋予了一个与某个命名空间相关联的限定名称。
注意:
XML Namespace (xmlns) 命名空间属性,被放置于元素的开始标签之中(一般都会在根元素中声明),并使用以下的语法:xmlns:namespace-prefix="namespaceURI"。
当命名空间被定义在元素的开始标签中时,所有带有相同前缀的子元素都会与同一个命名空间相关联。
另外:
用于标示命名空间的地址不会被解析器用于查找信息;
xmlns具体赋什么值无关紧要,只要保证唯一即可。
第三种方案:
默认的命名空间(Default Namespaces)。
使用以下的语法:
<根元素 xmlns="namespaceURI">
为元素定义默认的命名空间可以让我们省去在所有的子元素中使用前缀的工作。
这个 XML 文档携带着某个表格中的信息:
此 XML 文档携带着有关一件家具的信息:
五 XML约束
在XML技术里,可以编写一个文档来约束一个XML文档的书写规范,这称之为XML约束。
需要XML约束的原因
xml由于是可扩展的标记语言,所以在xml文件中的编写太过于自由,这样在很多种情况下并不合适。
常用的约束技术
XML DTD
DTD文件的后缀名为 .dtd
DTD文件有自己独立的语法规范
XML Schema
Schema文件的后缀名为 .xsd
Schema文件符合xml语法规范
六 DTD Document Type Define
DTD的定义:描述元素、属性和其他杂项在xml文档中的使用规则的说明。
DTD的分类:
1).外部的DTD:DTD和xml文档不在同一个文件中
2).内部的DTD:DTD和xml文档在同一个文件中
3).混合的DTD:既有外部DTD,又有内部DTD
DTD的目的:
良构: 符合xml语法,没有问题
有效: 符合约束条件的 良构xml文件
验证该xml文档是否是有效的xml文档
如果一个良构的xml文档满足了DTD的声明就是一个有效的xml文档。
注意:良构 不一定 有效,但是有效一定良构
DTD在元素中的声明:
格式:
内容模式:
1).(#PCDATA):元素内容为字符或者为空(不可以出现子标签)
2).EMPTY:元素内容为空
3).ANY:元素内容为任意的,主要是使用在元素内容不确定的情况下
4).(Child Elements): , | + * ?
5).混合元素
eg:
子元素可以是name,也可以是age,顺序没有关系,频率也没有关系
注意:浏览器是非验证的解析器,不会验证xml的有效性
validate===>验证xml文档
属性的DTD声明:
格式:
.........
属性名 属性类型 属性默认值
>
属性类型:
1).ID:属性值必须唯一,属性值必须满足命名规则
2).enumerated:(枚举值1|枚举值2|枚举值3...),属性值必须在枚举值中
3).CDATA:属性值为字符
属性默认值:
1).#REQUIRED:属性必须出现在元素的开始标签中。
2).#IMPLIED:属性可以不出现,并且当它不出现的时候没有默认值 implied
3).attribute-value:属性可以不出现,并且当它不出现的时候是有默认值的,而该属性
的默认值就是atttibute-value
4).#FIXED:属性可以不出现,但是如果出现的话必须是指定的属性值,不出现的话也是
指定的默认值
你可能感兴趣的:(XML基本语法)
Android ViewBinding 使用与封装教程
积跬步DEV
Android 开发实战大全 android
AndroidViewBinding使用与封装教程:一、ViewBinding是什么?核心功能:为每个XML布局文件自动生成一个绑定类(如ActivityMainBinding),直接暴露所有带ID的视图引用。优点:避免繁琐的findViewById(),类型安全且编译时检查。对比DataBinding:ViewBinding仅处理视图引用,无数据绑定功能。DataBinding支持双向数据绑定,
RocketMQ 核心特性实战详解
愤怒的代码
RocketMQ实战 rocketmq
RocketMQ核心特性实战详解本文基于RocketMQ4.x+rocketmq-spring-boot-starter2.3.1,从零搭建,逐步讲解RocketMQ11大核心特性,每一段代码都能直接跑。0.项目环境准备依赖引入在pom.xml文件添加:org.apache.rocketmqrocketmq-spring-boot-starter2.3.1配置文件application.ymlse
【目标检测】机场内部目标检测数据集4106张YOLO+VOC格式
数据集格式:VOC格式+YOLO格式压缩包内含:3个文件夹,分别存储图片、xml、txt文件JPEGImages文件夹中jpg图片总计:4106Annotations文件夹中xml文件总计:4106labels文件夹中txt文件总计:4106标签种类数:7标签名称:["Ground_vehicles","Horizontal_sign","Runaway_limit","Taxiway","Ver
javascript高级程序设计第3版——第12章 DOM2与DOM3
weixin_30687587
javascript 数据结构与算法 ViewUI
12章——DOM2与DOM3为了增强D0M1,DOM级规范定义了一些模块。DOM2核心:为不同的DOM类型引入了一些与XML命名空间有关的方法,还定义了以编程方式创建Document实例的方法;DOM2级样式:针对操作元素的样式而开发;其特性总结:1.每个元素都有一个关联的style对象,可用来确定和修改行内样式;2.要确定某个元素的计算样式,可使用getComgetComputedStyle()
Python学习笔记5|条件语句和循环语句
iamecho9
Python从0到1学习笔记 python 学习 笔记
一、条件语句条件语句用于根据不同的条件执行不同的代码块。1、if语句基本语法:if布尔型语句1:代码块#语句1为True时执行的代码示例:age=int(input("请输入你的年龄:"))ifage>=18:print("你已成年")2、if-else语句如果if条件不成立,则执行else代码块:if布尔型语句1:代码块#语句1为True时执行的代码else:代码块#语句1为False时执行的代
Ajax之核心语法详解
AA-代码批发V哥
Ajax/Axios ajax
Ajax之核心语法详解一、Ajax的核心原理与优势1.1什么是Ajax?1.2Ajax的优势二、XMLHttpRequest:Ajax的核心对象2.1XHR的基本使用流程2.2核心属性与事件解析2.2.1`readyState`:请求状态2.2.2`status`:HTTP状态码2.2.3响应数据属性2.2.4常用事件三、HTTP请求方法与数据传递3.1GET请求:获取数据3.2POST请求:提交
2023高薪前端面试题(二、前端核心——Ajax)
原生AjaxAjax简介Ajax全程为AsynchronousJavaScript+XML,就是异步的JS和XML通过AJAX可以在浏览器中向服务器发送异步请求,最大的优势是:无刷新获取数据,实现局部刷新Ajax是一种用于创建快速动态网页的技术AJAX不是新的编程语言,而是一种将现有的标准组合在一起使用的新方式Ajax的应用场景页面上拉加载更多数据列表数据无刷新分页表单项离开焦点数据验证搜索框提示
电梯开关状态人员进出检测数据集VOC+YOLO格式2220张4类别
fl176831
数据集 YOLO 深度学习 机器学习
数据集格式:PascalVOC格式+YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件)图片数量(jpg文件个数):2220标注数量(xml文件个数):2220标注数量(txt文件个数):2220标注类别数:4标注类别名称:["CloseElevator","People-in-elevator","The-elevator-was-
微信小程序开发:从漫画阅读到商业变现
永远的12
本文还有配套的精品资源,点击获取简介:微信小程序作为一种轻量级应用平台,在无需下载安装的情况下提供便捷服务,尤其在漫画阅读领域得到广泛应用。本文介绍了微信小程序的基础开发框架,包括WXML、WXSS和JavaScript的使用,以及漫画小程序的核心功能设计,如漫画分类、搜索、详情展示、阅读模式等。同时,探讨了在小程序中加入广告ID以实现商业变现,包括广告组件的集成和广告政策的遵守。最后,强调了漫画
MyBatis-Plus 使用wrapper自定义SQL
MyBatis-Plus使用wrapper自定义SQL,以下是单表查询。官方文档官方的例子://mapper接口@Select("select*frommysql_data${ew.customSqlSegment}")ListgetAll(@Param(Constants.WRAPPER)Wrapperwrapper);//xmlListgetAll(Wrapperew);SELECT*FROM
MyBatis-Plus 中使用 Wrapper 自定义 SQL
在MyBatis-Plus中使用Wrapper自定义SQL可以灵活组合条件并复用条件逻辑,通过${ew.customSqlSegment}占位符注入Wrapper生成的SQL片段。以下是详细步骤和示例:核心步骤Mapper接口定义方法使用@Param("ew")注解声明Wrapper参数,在SQL中通过${ew.customSqlSegment}引用条件。XML或注解编写SQL在SQL中嵌入${e
解决SQL Server SQL语句性能问题(9)——SQL语句改写(7)
lhdz_bj
SQL Server SQL性能优化 SQL Server 性能 优化 改写 join 集合
9.4.15.消除join场景一与Oracle等其他关系库类似,SQLServer中,join作为基本语法用于SQL语句中相关表之间的连接,有些场景中,join既可以增强SQL语句的可读性,同时,又可以提升SQL语句的性能,但有些场景中,join会导致CBO为SQL语句产生次优的查询计划,进而出现SQL语句性能方面的问题。所以,有时为了解决SQL语句的性能问题,我们需要改写SQL语句,那就是利用e
使用Dockerfile构建含私有Maven仓库依赖包的Java容器
背景需要用JDBC方式访问ArgoDB星环提供了ArgoDBjar包应用将以Container的方式运行我希望打包成镜像之后,镜像启动就能测试连接是否成功连接URL串需要能够传递进去失败的方案一:本地文件导入POMpom.xml配置本地路径com.transwarpinceptor-driver8.31.2system${project.basedir}/lib/inceptor-driver-8
go语言因为前端跨域导致无法访问到后端解决方案
雪花凌落的盛夏
Golang学习目录 golang 前端 开发语言
前端服务8080访问后端8081这端口显示跨域了ERRORNetworkErrorAxiosError:NetworkErroratXMLHttpRequest.handleError(webpack-internal:///./node_modules/axios/lib/adapters/xhr.js:116:14)atAxios.request(webpack-internal:///./n
Mybits-plus 表关联查询,嵌套查询,子查询示例演示
慧一居士
JAVA mybatis java
在MyBatis-Plus中实现表关联查询、嵌套查询和子查询,通常需要结合XML映射文件或@Select注解编写自定义SQL。以下是具体示例演示:示例场景假设有两张表:用户表userCREATETABLEuser(idBIGINTPRIMARYKEY,nameVARCHAR(50),ageINT);订单表orderCREATETABLEorder(idBIGINTPRIMARYKEY,user_i
Logback.xml配置详解与实战指南
Logback.xml是Logback日志框架的核心配置文件,用于定义日志的输出格式、级别、存储路径等。以下是关键配置要点和示例:1.基础结构Logback.xml以为根节点,包含以下核心组件:变量定义:通过设置全局变量(如日志存储路径)。Appender:定义日志输出目标(控制台、文件等)。Logger/RootLogger:设置日志级别和关联的Appender。示例基础结构:%d{HH:mm:
product 分区和权限
AmazingMQ
android
在Android9及更高版本中,权限和列入白名单过程的更改会影响product分区上授予特权应用权限的方式。permissions.xml文件必须与特权应用位于同一个分区中。----之前有遇到过,应用在product分区,然后在system分区的permissions.xml文件中声明签名/特权权限导致不生效。在特权应用/system分区中放置permissions.xml文件不会将这些权限扩展到
XML通过标签定义条件和逻辑分支,结合属性或子元素实现动态逻辑判断
age>18grantAccess()score>=60passExam()retakeExam()dayOfWeekprint("Monday")print("Tuesday")print("Weekend")
微信小程序——扫码功能简单实现
mon_star°
智慧门店小程序
微信小程序中二维码扫描的简单实现,很容易的。首先在.wxml写一个text组件,通过点击这个text来实现扫码功能。{{scanCode}}bindtap是给text绑定的点击事件;{{scanCode}}给这个text赋值,赋值的数据在.js文件的data里初始化。.js文件Page({/***页面的初始数据*/data:{scanCode:'扫码',},/***生命周期函数--监听页面加载*/
头哥教学实践平台 Python初识-基本语法
第1关:HelloPython!任务描述利用Python提供的print()内置函数,打印输出HelloPython!,初步体验和感受Python编程的魅力。输入无输出HelloPython!头哥代码文件:#coding=utf-8#请在此处添加代码完成输出“HelloPython”,注意要区分大小写!######Begin######print("HelloPython!")######End#
python-docx如何设置默认字体大小
detayun
Python python word
引言在使用python-docx库处理Word文档时,设置默认字体大小是提升文档一致性的关键步骤。本文将详细讲解如何通过修改内置样式(如Normal样式)来全局设置字体大小,并解决常见问题。一、核心方法:修改Normal样式步骤详解导入必要模块:fromdocximportDocumentfromdocx.sharedimportPtfromdocx.oxml.nsimportqn创建文档并获取样
python如何删除xml中的w:ascii属性
detayun
Python python xml
可以使用Python的xml.etree.ElementTree模块通过以下步骤删除XML中的w:ascii属性:importxml.etree.ElementTreeasET#原始XML片段(需包含命名空间声明)xml_str=''''''#注册命名空间namespaces={'w':'http://schemas.openxmlformats.org/wordprocessingml/2006
如何使用目标检测深度学习框架yolov8训练钢管管道表面缺陷VOC+YOLO格式1159张3类别的检测数据集步骤和流程
FL1623863129
深度学习 目标检测 深度学习 YOLO
【数据集介绍】数据集中有很多增强图片,大约300张为原图剩余为增强图片数据集格式:PascalVOC格式+YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件)图片数量(jpg文件个数):1159标注数量(xml文件个数):1159标注数量(txt文件个数):1159标注类别数:3所在仓库:firc-dataset标注类别名称(注意yo
钢管管道表面缺陷检测数据集VOC+YOLO格式1159张3类别
FL1623863129
数据集 YOLO 深度学习 机器学习
数据集中有很多增强图片,大约300张为原图剩余为增强图片数据集格式:PascalVOC格式+YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件)图片数量(jpg文件个数):1159标注数量(xml文件个数):1159标注数量(txt文件个数):1159标注类别数:3所在仓库:firc-dataset标注类别名称(注意yolo格式类别顺
简说scp命令
伊成
其它 服务器 linux 运维
简单介绍scp的全称是:SecureCopyProtocol(安全复制协议),是Linux中用于在网络中安全传输文件的命令行工具。它基于SSH协议,用于在本地服务器和远程服务器之间,或者两台远程服务器之间复制文件或目录。scp基本语法格式如下:scp[选项]源路径目标路径常用选项说明:-r:递归复制整个目录。-P:指定非默认的SSH端口号,默认为22。这里注意为大写的P。-C:启用压缩,提高传输效
axios笔记
xx2406
笔记
Axios是一个基于promise网络请求库,在服务端它使用原生node.jshttp模块,而在客户端(浏览端)则使用XMLHttpRequests。npminstallaxiosimportaxiosfrom'axios'constinstance=axios.create({baseURL:'http://127.0.0.1:8080',});exportconstgetLogin=(para
WebLogic 作用,以及漏洞原理,流量特征与防御
Bigliuzi@
进阶漏洞 进阶漏洞 weblogic 安全
WebLogic的核心作用:企业级别的应用服务器,相当于一个高性能的java环境主要功能:应用部署,事务管理,集群与负载均衡,安全控制,资源池化,消息中间件典型的使用场景:银行核心系统,电信计费平台,电商大促平台主要漏洞:T3反序列化,IIop反序列化,xml反序列化,未授权访问流量特征:T3协议攻击特征,未授权访问特征,.反序列化攻击特征危害:远程代码执行完全控制服务器(删库、安装后门)数据泄露
Linux 命令:more
hweiyu00
Linux命令 运维
Linuxmore命令详细教程more是Linux系统中用于分页查看文件内容的基础工具,它允许用户逐页浏览大文件,避免一次性显示过多内容导致终端溢出。尽管功能不如less强大,但more在老系统或极简环境中仍被广泛使用。资料已经分类整理好:https://pan.quark.cn/s/26d73f7dd8a7一、基本语法more[选项]文件核心功能:分页显示文件内容,每页默认显示一屏。支持简单的向
Python中的装饰器:函数的化妆师详解
盛夏绽放
python 开发语言 有问必答
文章目录Python中的装饰器:函数的"化妆师"详解一、装饰器基础概念什么是装饰器?装饰器的基本语法二、装饰器的工作原理1.函数作为一等公民2.高阶函数3.闭包三、编写自定义装饰器1.基本装饰器示例2.带参数的函数装饰3.带参数的装饰器四、内置装饰器1.`@property`2.`@classmethod`和`@staticmethod`3.`@functools.wraps`五、装饰器的实际应用
python面向对象的基本语法
苏果儿~
python python 开发语言
面向对象有两个概念:类和对象。其中对象相当于显示中真是的物品,就相当于现在手中的手机或者电脑等。而类是一个抽象的,是对一群具有相同特征的事物的统称,例如:'书是人类进步的阶梯'中的书就是一个类,而并不是具体指的哪一本。简单来说类是具有相同特征的一些事物的抽象,对象是类的实例。一、类与对象的基础应用1、类的定义python用class关键字定义一个类,基本语法如下:class类名:属性名=属性def
eclipse maven
IXHONG
eclipse
eclipse中使用maven插件的时候,运行run as maven build的时候报错
-Dmaven.multiModuleProjectDirectory system propery is not set. Check $M2_HOME environment variable and mvn script match.
可以设一个环境变量M2_HOME指
timer cancel方法的一个小实例
alleni123
多线程 timer
package com.lj.timer;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
public class MyTimer extends TimerTask
{
private int a;
private Timer timer;
pub
MySQL数据库在Linux下的安装
ducklsl
mysql
1.建好一个专门放置MySQL的目录
/mysql/db数据库目录
/mysql/data数据库数据文件目录
2.配置用户,添加专门的MySQL管理用户
>groupadd mysql ----添加用户组
>useradd -g mysql mysql ----在mysql用户组中添加一个mysql用户
3.配置,生成并安装MySQL
>cmake -D
spring------>>cvc-elt.1: Cannot find the declaration of element
Array_06
spring bean
将--------
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3
maven发布第三方jar的一些问题
cugfy
maven
maven中发布 第三方jar到nexus仓库使用的是 deploy:deploy-file命令
有许多参数,具体可查看
http://maven.apache.org/plugins/maven-deploy-plugin/deploy-file-mojo.html
以下是一个例子:
mvn deploy:deploy-file -DgroupId=xpp3
MYSQL下载及安装
357029540
mysql
好久没有去安装过MYSQL,今天自己在安装完MYSQL过后用navicat for mysql去厕测试链接的时候出现了10061的问题,因为的的MYSQL是最新版本为5.6.24,所以下载的文件夹里没有my.ini文件,所以在网上找了很多方法还是没有找到怎么解决问题,最后看到了一篇百度经验里有这个的介绍,按照其步骤也完成了安装,在这里给大家分享下这个链接的地址
ios TableView cell的布局
张亚雄
tableview
cell.imageView.image = [UIImage imageNamed:[imageArray objectAtIndex:[indexPath row]]];
CGSize itemSize = CGSizeMake(60, 50);
&nbs
Java编码转义
adminjun
java 编码转义
import java.io.UnsupportedEncodingException;
/**
* 转换字符串的编码
*/
public class ChangeCharset {
/** 7位ASCII字符,也叫作ISO646-US、Unicode字符集的基本拉丁块 */
public static final Strin
Tomcat 配置和spring
aijuans
spring
简介
Tomcat启动时,先找系统变量CATALINA_BASE,如果没有,则找CATALINA_HOME。然后找这个变量所指的目录下的conf文件夹,从中读取配置文件。最重要的配置文件:server.xml 。要配置tomcat,基本上了解server.xml,context.xml和web.xml。
Server.xml -- tomcat主
Java打印当前目录下的所有子目录和文件
ayaoxinchao
递归 File
其实这个没啥技术含量,大湿们不要操笑哦,只是做一个简单的记录,简单用了一下递归算法。
import java.io.File;
/**
* @author Perlin
* @date 2014-6-30
*/
public class PrintDirectory {
public static void printDirectory(File f
linux安装mysql出现libs报冲突解决
BigBird2012
linux
linux安装mysql出现libs报冲突解决
安装mysql出现
file /usr/share/mysql/ukrainian/errmsg.sys from install of MySQL-server-5.5.33-1.linux2.6.i386 conflicts with file from package mysql-libs-5.1.61-4.el6.i686
jedis连接池使用实例
bijian1013
redis jedis连接池 jedis
实例代码:
package com.bijian.study;
import java.util.ArrayList;
import java.util.List;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoo
关于朋友
bingyingao
朋友 兴趣爱好 维持
成为朋友的必要条件:
志相同,道不合,可以成为朋友。譬如马云、周星驰一个是商人,一个是影星,可谓道不同,但都很有梦想,都要在各自领域里做到最好,当他们遇到一起,互相欣赏,可以畅谈两个小时。
志不同,道相合,也可以成为朋友。譬如有时候看到两个一个成绩很好每次考试争做第一,一个成绩很差的同学是好朋友。他们志向不相同,但他
【Spark七十九】Spark RDD API一
bit1129
spark
aggregate
package spark.examples.rddapi
import org.apache.spark.{SparkConf, SparkContext}
//测试RDD的aggregate方法
object AggregateTest {
def main(args: Array[String]) {
val conf = new Spar
ktap 0.1 released
bookjovi
kernel tracing
Dear,
I'm pleased to announce that ktap release v0.1, this is the first official
release of ktap project, it is expected that this release is not fully
functional or very stable and we welcome bu
能保存Properties文件注释的Properties工具类
BrokenDreams
properties
今天遇到一个小需求:由于java.util.Properties读取属性文件时会忽略注释,当写回去的时候,注释都没了。恰好一个项目中的配置文件会在部署后被某个Java程序修改一下,但修改了之后注释全没了,可能会给以后的参数调整带来困难。所以要解决这个问题。
&nb
读《研磨设计模式》-代码笔记-外观模式-Facade
bylijinnan
java 设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
/*
* 百度百科的定义:
* Facade(外观)模式为子系统中的各类(或结构与方法)提供一个简明一致的界面,
* 隐藏子系统的复杂性,使子系统更加容易使用。他是为子系统中的一组接口所提供的一个一致的界面
*
* 可简单地
After Effects教程收集
cherishLC
After Effects
1、中文入门
http://study.163.com/course/courseMain.htm?courseId=730009
2、videocopilot英文入门教程(中文字幕)
http://www.youku.com/playlist_show/id_17893193.html
英文原址:
http://www.videocopilot.net/basic/
素
Linux Apache 安装过程
crabdave
apache
Linux Apache 安装过程
下载新版本:
apr-1.4.2.tar.gz(下载网站:http://apr.apache.org/download.cgi)
apr-util-1.3.9.tar.gz(下载网站:http://apr.apache.org/download.cgi)
httpd-2.2.15.tar.gz(下载网站:http://httpd.apac
Shell学习 之 变量赋值和引用
daizj
shell 变量引用 赋值
本文转自:http://www.cnblogs.com/papam/articles/1548679.html
Shell编程中,使用变量无需事先声明,同时变量名的命名须遵循如下规则:
首个字符必须为字母(a-z,A-Z)
中间不能有空格,可以使用下划线(_)
不能使用标点符号
不能使用bash里的关键字(可用help命令查看保留关键字)
需要给变量赋值时,可以这么写:
Java SE 第一讲(Java SE入门、JDK的下载与安装、第一个Java程序、Java程序的编译与执行)
dcj3sjt126com
java jdk
Java SE 第一讲:
Java SE:Java Standard Edition
Java ME: Java Mobile Edition
Java EE:Java Enterprise Edition
Java是由Sun公司推出的(今年初被Oracle公司收购)。
收购价格:74亿美金
J2SE、J2ME、J2EE
JDK:Java Development
YII给用户登录加上验证码
dcj3sjt126com
yii
1、在SiteController中添加如下代码:
/**
* Declares class-based actions.
*/
public function actions() {
return array(
// captcha action renders the CAPTCHA image displ
Lucene使用说明
dyy_gusi
Lucene search 分词器
Lucene使用说明
1、lucene简介
1.1、什么是lucene
Lucene是一个全文搜索框架,而不是应用产品。因此它并不像baidu或者googleDesktop那种拿来就能用,它只是提供了一种工具让你能实现这些产品和功能。
1.2、lucene能做什么
要回答这个问题,先要了解lucene的本质。实际
学习编程并不难,做到以下几点即可!
gcq511120594
数据结构 编程 算法
不论你是想自己设计游戏,还是开发iPhone或安卓手机上的应用,还是仅仅为了娱乐,学习编程语言都是一条必经之路。编程语言种类繁多,用途各 异,然而一旦掌握其中之一,其他的也就迎刃而解。作为初学者,你可能要先从Java或HTML开始学,一旦掌握了一门编程语言,你就发挥无穷的想象,开发 各种神奇的软件啦。
1、确定目标
学习编程语言既充满乐趣,又充满挑战。有些花费多年时间学习一门编程语言的大学生到
Java面试十问之三:Java与C++内存回收机制的差别
HNUlanwei
java C++ finalize() 堆栈 内存回收
大家知道, Java 除了那 8 种基本类型以外,其他都是对象类型(又称为引用类型)的数据。 JVM 会把程序创建的对象存放在堆空间中,那什么又是堆空间呢?其实,堆( Heap)是一个运行时的数据存储区,从它可以分配大小各异的空间。一般,运行时的数据存储区有堆( Heap)和堆栈( Stack),所以要先看它们里面可以分配哪些类型的对象实体,然后才知道如何均衡使用这两种存储区。一般来说,栈中存放的
第二章 Nginx+Lua开发入门
jinnianshilongnian
nginx lua
Nginx入门
本文目的是学习Nginx+Lua开发,对于Nginx基本知识可以参考如下文章:
nginx启动、关闭、重启
http://www.cnblogs.com/derekchen/archive/2011/02/17/1957209.html
agentzh 的 Nginx 教程
http://openresty.org/download/agentzh-nginx-tutor
MongoDB windows安装 基本命令
liyonghui160com
windows安装
安装目录:
D:\MongoDB\
新建目录
D:\MongoDB\data\db
4.启动进城:
cd D:\MongoDB\bin
mongod -dbpath D:\MongoDB\data\db
&n
Linux下通过源码编译安装程序
pda158
linux
一、程序的组成部分 Linux下程序大都是由以下几部分组成: 二进制文件:也就是可以运行的程序文件 库文件:就是通常我们见到的lib目录下的文件 配置文件:这个不必多说,都知道 帮助文档:通常是我们在linux下用man命令查看的命令的文档
二、linux下程序的存放目录 linux程序的存放目录大致有三个地方: /etc, /b
WEB开发编程的职业生涯4个阶段
shw3588
编程 Web 工作 生活
觉得自己什么都会
2007年从学校毕业,凭借自己原创的ASP毕业设计,以为自己很厉害似的,信心满满去东莞找工作,找面试成功率确实很高,只是工资不高,但依旧无法磨灭那过分的自信,那时候什么考勤系统、什么OA系统、什么ERP,什么都觉得有信心,这样的生涯大概持续了约一年。
根本不是自己想的那样
2008年开始接触很多工作相关的东西,发现太多东西自己根本不会,都需要去学,不管是asp还是js,
遭遇jsonp同域下变作post请求的坑
vb2005xu
jsonp 同域post
今天迁移一个站点时遇到一个坑爹问题,同一个jsonp接口在跨域时都能调用成功,但是在同域下调用虽然成功,但是数据却有问题. 此处贴出我的后端代码片段
$mi_id = htmlspecialchars(trim($_GET['mi_id ']));
$mi_cv = htmlspecialchars(trim($_GET['mi_cv ']));
贴出我前端代码片段:
$.aj