xml语言

Java通过XML Schema校验XML

拟墨画扇 提交于 2020-03-28 12:25:53
Java通过XML Schema校验XML XML的校验在XML处理中非常常见,如果没有有效的办法来校验XML的合法性,往往会导致很多问题。 XML的校验是通过XML Schema(XSD) 或DTD文件的语法规范来校验的。DTD现在越来越不受欢迎了,在此选用XSD来校验。 Java校验XML是件和扯淡的事情,因为Sun的XML相关软件包会令你云里雾里。 W3C这块的XML相关的规范相当的多,这也是导致XML处理器起来费劲的主要原因。要想精通这些规范和相关的API,实在是异想天开(新的规范在不停出,越来越多!)。 校验的原理是通过读取解析XML的时候设置校验的XSD和校验错误处理器,顺便校验的。 下面不扯这些废话了,我用DOM4j结合javaxml api使用XSD来校验一个xml有效性,下面这个例子虽然和蹩脚,但是也费了一番功夫,放出来大家研究吧,有更好的实现也希望能和我一同分享。 例子如下: XML文件 <? xml version ="1.0" ?> < note xmlns ="http://www.w3school.com.cn" xmlns:xsi ="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation ="http://www.w3school.com.cn file:///D:/_dev_stu

利用微信公众平台实现自动回复消息—java版

被刻印的时光 ゝ 提交于 2020-03-28 10:25:14
最近公司需要拿微信公众平台做个东西,所以就开始了最基本学习,网上很多是php版的,对于我这个只会java,不会php的就只能在网上找点只言片语来一点一点学习了。不费话了直接贴图看效果(很简单的)。 不会做关注时就回复信息,所以必须先发送“?”,才能出现提示。回复“1”和“其他”都是返回文字信息,“2”是音乐信息,“3”是图文信息。 好了,下面进入正题。 1、首先必须开通微信公中平台,还得申请到高级功能的(这个点比较坑,我等了两天才申请到的),关于申请公众平台我就不说了,网上很多介绍,自己看吧。 2、必须有自己的服务器资源,因为公众平台开发者模式开启时,必须填写接口配置信息(成为开发者)。 服务器资源我是用的是百度开发者中心来创建自己的应用。百度开发者中心: http://developer.baidu.com/ 成为微信公众平台开发者前必须发布好自己的服务器资源,因为微信服务器将发送GET请求到填写的URL上(后面详细介绍)。 3、创建自己的应用。 这是整个项目结构。 下面逐一介绍: 1 public class WbChat extends HttpServlet{ 2 3 private static final long serialVersionUID = 1L; 4 5 public WbChat() { 6 super(); 7 } 8 @Override 9

Tomcat应用

我是研究僧i 提交于 2020-03-27 19:17:39
问题 在浏览器输入"http//:配置的临时域名(如localhost)"直接显示到页面 分析 1. 需要配置虚拟主机 什么是虚拟主机:多个不同域名共存于一个Tomato中 为什么要用虚拟主机: 一个主机只能运行一个网站,使用虚拟主机就可以在一台服务器上运行多个网站 配置方式 打开配置文件Tomcat根目录--->conf--->server.xml,增加虚拟主机 一个 标签语句表示一个虚拟机(第一个是磨人的) 其中的 用于配置虚拟目录(缓解webapps目录下空间占用) path:指定要访问的web项目名 docBase:对应path所指定站点的资源的绝对路径 上图path和docBase表示的是webapps根目录,分别使得在浏览器中输入域名请求数据时不用指定项目名 和 服务器能响应返回对应的网页内容,实现的效果就是直接输入域名就可以访问网页 配置临时域名 打开目录C:\Windows\System32\drivers\etc,找到hosts文件(编辑此文件需要管理员权限以及取消只读模式) 2. 映射虚拟目录为/ 也就是上面添加的 这一步操作 添加临时域名 第一个就是熟知的localhost(原来是这样来的) yhh是我自己添加的,用的还是本地ip 这个的原理应该和域名绑定IP差不多吧 配置虚拟目录 方式一: 比如将D:\web路径作为站点的路径,找到Tomcat目录下

Python3标准库:xml.etree.ElementTree XML操纵API

≡放荡痞女 提交于 2020-03-27 12:14:29
1. xml.etree.ElementTree XML操纵API ElementTree库提供了一些工具,可以使用基于事件和基于文档的API来解析XML,可以用XPath表达式搜索已解析的文档,还可以创建新文档或修改现有文档。 1.1 解析XML文档 已解析的XML文档在内存中由ElementTree和Element对象表示,这些对象基于XML文档中节点嵌套的方式按树结构互相连接。 用parse()解析一个完整的文档时,会返回一个ElementTree实例。这个树了解输入文档中的所有数据,另外可以原地搜索或操纵树中的节点。基于这种灵活性,可以更方便的处理已解析的文档,不过,与基于事件的解析方法相比,这种方法往往需要更多的内存,因为必须一次加载整个文档。 对于简单的小文档(如下面的播客列表,被表示为一个OPML大纲),内存需求不大。 podcasts.opml: <?xml version="1.0" encoding="UTF-8"?> <opml version="1.0"> <head> <title>My Podcasts</title> <dateCreated>Sat, 06 Aug 2016 15:53:26 GMT</dateCreated> <dateModified>Sat, 06 Aug 2016 15:53:26 GMT</dateModified> <

MyBatis映射器(转载)

心已入冬 提交于 2020-03-27 02:29:19
<div class="post-content" itemprop="articleBody"> <h2>什么是MyBatis映射器?</h2><p>MyBatis框架包括两种类型的XML文件,一类是配置文件,即mybatis-config.xml,另外一类是映射文件,例如XXXMapper.xml等。在<a href="http://www.mybatis.cn/680.html" target="_blank">MyBatis的配置文件mybatis-config.xml</a>包含了<mappers></mappers>节点,这里就是MyBatis映射器。</p><h2>1、MyBatis映射器发展历史简介</h2><p>映射器是MyBatis中最核心的组件之一,在MyBatis 3之前,只支持XML映射器,所有的SQL语句都必须在XML文件中配置。而从MyBatis 3开始,开始支持接口映射器,其底层利用的是接口绑定技术(注:面试中经常会问到的一个知识点,见下文5.1项介绍)。另外,接口映射器允许通过注解定义SQL语句,用以替代XML文件配置SQL。</p><h2>2、MyBatis映射器分类</h2><h3>MyBatis映射器分为三类,如下所示:</h3><p>(1)纯xml映射器,利用SqlSession的各种方法实现增删改查。例如:</p><pre><code

jquery ajax api

核能气质少年 提交于 2020-03-27 00:36:58
执行一个异步的HTTP(Ajax)的请求。 version added: 1.5 jQuery.ajax( url, [ settings ] ) url 一个用来包含发送请求的URL字符串。 settings 一个以"{键:值}"组成的AJAX 请求设置。所有选项都是可选的。可以使用 $.ajaxSetup() 设置任何默认参数。看 jQuery.ajax( settings ) 下所有设置的完整列表。 version added: 1.0 jQuery.ajax( settings ) settings 一个以"{键:值}"组成的AJAX 请求设置。所有选项都是可选的。可以使用 $.ajaxSetup() 设置任何默认参数。 accepts Map 默认: 取决于数据类型 内容类型发送请求头,告诉服务器什么样的响应会接受返回。如果 accepts 设置需要修改,推荐在 $.ajaxSetup() 方法中做一次。 async Boolean 默认: true 默认设置下,所有请求均为异步请求(也就是说这是默认设置为 true )。如果需要发送同步请求,请将此选项设置为 false 。跨域请求和 dataType: "jsonp" 请求不支持同步操作。注意,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。 beforeSend(jqXHR, settings)

Day21: os,sys,re,json,xml

≡放荡痞女 提交于 2020-03-26 19:04:01
OS: import sys,os # print(os.getcwd()) # print(os.chdir('..')) # # os.removedirs('dir1/dir2')#blank will be del,or can't # print(os.listdir()) #print(os.stat('ss.py')) #****the time of create and modify # print(os.stat('path/filename')) #os.sep windows:\\ linus:/ # os.linesep windows:\r\n linus:\n # print(os.system('dir')) # print(os.environ) #get the system's environment variables # os.path.dirname(path=) # os.path.basedirname(path=) #the file name # os.path.abspath(path=) #absolute path # os.path.split(path=) #split with dirname and filename # os.path.exists(path=) #judge # os.path.isabs

pyQt5 & QtDesigner 简易入门教程

China☆狼群 提交于 2020-03-26 12:52:08
python3.6 & pyQt5 & QtDesigner 简易入门教程 1. python 官网下载安装python3.6并配置好环境; 2.cmd下 运行: pip install PyQt5 安装PyQt库; 3.cmd下运行: pip3.6 install PyQt5-tools 安装QtDesigner QtDesigner一般默认被安装到Python36\Lib\site-packages\pyqt5-tools路径下。 安装成功后在此路径下打开designer.exe即可进行QT界面的设计。 设计完成后保存为.ui格式文件。 其实.ui文件就是一个xml文件,里面有界面元素的各种信息。 然后在python代码中使用loadUi()函数加载ui文件。这个过程其实是解析xml文件并转译为python程序对象的过程。 import sys from PyQt5.QtWidgets import QApplication, QMainWindow from PyQt5.uic import loadUi class MainWindow(QMainWindow): def __init__(self, parent=None): super(MainWindow, self).__init__(parent) loadUi('qtdesigner.ui', self)

Java项目命名规范

烂漫一生 提交于 2020-03-25 12:19:20
一、项目名称 最好用英文,所有单词全部用小写,如testjavaproject、studentmanagement等,当然也也可以用中文,如“学生管理系统”、”进销管理系统“等。 二、Java project中相关命名 1、包名:全部小写字母,最好用域名反过来写,不会冲突。如com.cnblogs.lionestking.myutil等。 2、类名:每个单词首字母均大写,且public类应用项目同名. 3、方法名和对象名(变量名):除第一个单词首字母小写外(若只能一个单词,就全部小写),其余单词首字母均大写。方法名采用动词+名词或动词表示,如append()、getName()等。 4、属性名:和对象命名方法相同,采用名词或形容词+名词的形式表示,如name、dbClassName、dbUser、dbPassword、dbUrl等。 5、常量:均大写,可以加一些前缀,以_进行分隔。 三、属性文件.properties定义变量命名 object.a_b_c格式,全部小写,其中object是宿主,a_b_c多个单词下划线分开。 例:hibernate.cache.use_second_level_cache,hibernate.cache.provider_class,hibernate.cache.provider_configuration_file_resource_path 四

爬虫之Xpath详解

生来就可爱ヽ(ⅴ<●) 提交于 2020-03-25 06:25:14
XPath介绍 XPath 是一门在 XML 文档中查找信息的语言。XPath 可用来在 XML 文档中对元素和属性进行遍历。 XPath 是 W3C XSLT 标准的主要元素,并且 XQuery 和 XPointer 都构建于 XPath 表达之上。 因此,对 XPath 的理解是很多高级 XML 应用的基础。 --------------------W3School 1. XPath 使用路径表达式来选取 XML 文档中的节点或者节点集。这些路径表达式和我们在常规的电脑文件系统中看到的表达式非常相似。 2. XPath 含有超过 100 个内建的函数。这些函数用于字符串值、数值、日期和时间比较、节点和 QName 处理、序列处理、逻辑值。 3. XPath 于 1999 年 11 月 16 日 成为 W3C 标准。XPath 被设计为供 XSLT、XPointer 以及其他 XML 解析软件使用。 XPath 术语 1. 在 XPath 中,有七种类型的节点:元素、属性、文本、命名空间、处理指令、注释以及文档节点(或称为根节点)。XML 文档是被作为节点树来对待的。树的根被称为文档节点或者根节点。 2. 基本值(或称原子值,Atomic value)是无父或无子的节点。 3. 项目(Item)是基本值或者节点。 XPath 语法 XPath 使用 路径表达式 来选取 XML