xml解析

JSON是什么?它能带来什么?

青春壹個敷衍的年華 提交于 2020-02-18 13:10:02
优点 : 1. 数据格式比较简单 , 易于读写 , 格式都是压缩的 , 占用带宽小 2. 易于解析这种语言 , 客户端 JavaScript 可以简单的通过 eval() 进行 JSON 数据的读取 3. 支持多种语言 , 包括 Cheap Reading glasses , C, C#, ColdFusion, Java, JavaScript, Perl, PHP, Python, Ruby 等语言服务器端语言 , 便于服务器端的解析 4. 在 PHP 世界 , 已经有 PHP-JSON 和 JSON-PHP 出现了 , 便于 PHP 序列化后的程序直接调用 . PHP 服务器端的对象、数组等能够直接生 JSON 格式 , 便于客户端的访问提取 . 另外 PHP 的 PEAR 类已经提出了支持 (http://pear.php.net/pepr/pepr-proposal-show.php?id=198) 5. 因为 JSON 格式能够直接为服务器端代码使用 , 大大简化了服务器端和客户端的代码开发量 , 但是完成的任务不变 , 且易于维护缺点 :1. 没有 XML 格式这么推广的深入人心和使用广泛 , 没有 XML 那么通用性 2. JSON 格式目前在 Web Service 中推广还属于初级阶段 PS: 据说 Google 的 Ajax 是使用 JSON+ 模板 做的啊

pull方式保存和读取xml

…衆ロ難τιáo~ 提交于 2020-02-18 07:13:22
1、pull相关介绍   pull解析方式和sax类似都是采用事件驱动模式,区别在sax是方法回调,pull是返回数字。因此可以使用一个switch对感兴趣的事件进行处理。 2、代码说明    PullPersonService package com.tjp.service;import java.io.InputStream;import java.io.OutputStream;import java.io.Writer;import java.util.ArrayList;import java.util.List;import org.xmlpull.v1.XmlPullParser;import org.xmlpull.v1.XmlSerializer;import android.util.Xml;import com.tjp.model.Person;/** * * 使用pull技术解析 * @author TanJianping * */public class PullPersonService { public static List<Person> getPersons(InputStream inputStream)throws Exception{ List<Person> persons=null; Person person=null;

105.格式化文件xml与json

感情迁移 提交于 2020-02-17 19:01:40
结构化文件存储 目的是为了解决文件在不同的系统中的交换 两种协议xml,json xml侧重于 描述数据本身,即数据的结构和语义 html侧重于 如何显示web页面的数据 网页三剑客 html 网页中有什么数据 css 网页美化 javascript 页面功能 xml参考资料 https://www.runoob.com/xml/xml-syntax.html https://blog.csdn.net/seetheworld518/article/details/49535285 json参考资料 https://www.runoob.com/json/json-tutorial.html https://www.w3school.com.cn/json/index.asp xml 可扩展的标记语言(eXtensible Markup Language),是w3c组织指定的标准,比html更简单一些 标记语言:语言中使用<>括取来的文本字符串作为标记 可扩展:用户可以自己定义需要的标记,html不行 xml文档的构成 处理指令(可以认为一个文件内只有一个处理指令) 最多只有一行 必须在第一行 与xml本身处理相关的一些生命和指令 以?xml开头 一般用于声明xml的版本和采用的编码 version属性是必须的 encoding属性用来指出xml解释器使用的编码 根元素

xml简介 xpath语法解释

强颜欢笑 提交于 2020-02-17 06:17:03
一.什么是xml 1.定义:可扩展标记性语言 2.特点:xml是具有自描述特性的半结构化数据 3.作用:xml主要用来传输数据 二.xml和html区别 1、语法要求不同:xml的语法要求更严格。 (1)在html中不区分大小写,在xml中严格区分 (2)在html中,有时不严格,如果上下文清楚地显示出段落或者列表键在何处结尾,那么你可以省略 或者标记。在xml中,是严格的树状结构,绝对不能省略任何标记。 (3)在xml中,拥有单个标记二没有匹配的结束标记的元素必须用一个/字符作为结尾。 (4)在xml中,属性值必须分装在引号中。在html中,引号可用可不用。 (5)在html中属性名可以不带属性值,xml必须带 (6)xml文档中,空白部分不会被解析器自动删除,但是html是过滤掉空格的 2、标记不同 · (1)html使用固有的标记,xml没有固有标记 ·(2)html标签是预定义的,xml标签是自定义的、可扩展的。 3、作用不同 (1)html的设计宗旨是用来显示数据。 (2)xml使用来传输数据的。 三xpath(语法) —相当于一个路径一样 1.什么是xpath? xpath就是用来筛选html或者xml中元素语法 2.xml和html中的一些名字 元素 = 标签 属性 内容 3.xpath的语法 (1) 选取节点 .-- 当前节点 … --代表父节点 / -

python爬虫之lxml模块

走远了吗. 提交于 2020-02-17 06:16:41
lxml模块:python用来解析xml和html模块,用这个模块就可以使用xpath语法。 **xpath(语法) 就相当于一个路径一样,可以匹配html和xml想要的内容数据** 1、什么xpath? xpath就是用来筛选html或者xml中元素语法。如果匹配标签和元素,则返回element对象,如果匹配到的是标签和text,则返回字符串 2、xml和html中一些名词。 元素 标签 属性 内容 3、xpath的语法 (1)选取节点 | . | 代表当前节点 | | … | 代表父节点 | | / | 从根节点开始 | | // | 文档的任意位置 | | nodename | 选取标签火元素 | | @属性名 | 选取属性名所对应的方法 | | text() | 选取内容 | (2)谓语:语言中就是用来限定主语的成分。 a、可以通过位置限定 [数字]选取第几个----> //body/div[3] ----> 选取页面内所有的body标签下的第三个div标签 [last()]:选取最后一个----> //body/div[last()] ----> 选取所有body标签下的最后一个div标签 [last()-1]:选取倒数第二个//body/div[last()-1] ----> 选取所有body标签下的倒数第二个div标签 [position()>1]:选取位置大于1--

DOM方式读取XML

女生的网名这么多〃 提交于 2020-02-16 05:30:29
DOM方式读取XML 一、Dom初步 DOM是Document Object Model的缩写,即文档对象模型。前面说过,XML将数据组织为一颗树,所以DOM就是对这颗树的一个对象描叙。通俗的说,就是通过解析XML文档,为 XML文档在逻辑上建立一个树模型,树的节点是一个个对象。我们通过存取这些对象就能够存取XML文档的内容。 下面我们来看一个简单的例子,看看在DOM中,我们是如何来操作一个XML文档的。 这是一个XML文档,也是我们要操作的对象: <?xml version="1.0" encoding="UTF-8"?> <messages> <message>Good-bye serialization, hello Java!</message> </messages> 下面,我们需要把这个文档的内容解析到一个个的Java对象中去供程序使用,利用JAXP,我们只需几行代码就能做到这一点。首先,我们需要建立一个解析器工厂,以利用这个工厂来获得一个具体的解析器对象: DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); 我们在这里使用DocumentBuilderFacotry的目的是为了创建与具体解析器无关的程序,当DocumentBuilderFactory 类的静态方法newInstance(

Mybatis面试问题集锦

♀尐吖头ヾ 提交于 2020-02-15 13:17:51
1、#{}和${}的区别是什么? 答:mybatis在处理#{}时,会将sql中的#{}替换为?号,调用PreparedStatement的set方法来赋值; mybatis在处理 $ { } 时,就是把 ${ } 替换成变量的值,完成的是简单的字符串拼接。 补充:在mybatis中使用#{}可以防止sql注入,提高系统安全性。MyBatis排序时使用order by 动态参数时需要注意,用$而不是# 2、Xml映射文件中,除了常见的select|insert|updae|delete标签之外,还有哪些标签? 答:还有很多其他的标签, 、 、 、 、 ,加上动态sql的9个标签,trim|where|set|foreach|if|choose|when|otherwise|bind等,其中 为sql片段标签,通过 标签引入sql片段, 为不支持自增的主键生成策略标签。 3、最佳实践中,通常一个Xml映射文件,都会写一个Dao接口与之对应,请问,这个Dao接口的工作原理是什么?Dao接口里的方法,参数不同时,方法能重载吗? 答:Dao接口,就是人们常说的Mapper接口,接口的全限名,就是映射文件中的namespace的值,接口的方法名,就是映射文件中MappedStatement的id值,接口方法内的参数,就是传递给sql的参数。Mapper接口是没有实现类的,当调用接口方法时

xpath

谁说胖子不能爱 提交于 2020-02-15 10:45:37
什么是xml? 定义: 可扩展标记性语言(EXtensible Markup Language) 特定: xml是具有自描述特性的半结构化数据。 作用: xml主要用来传输数据 xml和html的区别 语法要求不同: xml的语法要求更严格 在html中不区分大小写,在xml中严格区分 在html中,有时不严格,如果上下文清楚地显示出段落或者列表键在何处结尾,那么你可以省略 或者 标记。在xml中,是严格的树状结构,绝对不能省略任何标记 在xml中,拥有单个标记二没有匹配的结束标记的元素必须用一个/字符作为结尾 在xml中,属性值必须分装在引号中。在html中,引号可用可不用 在html中属性名可以不带属性值,xml必须带 xml文档中,空白部分不会被解析器自动删除,但是html是过滤掉空格的 标记不同 html使用固有的标记,xml没有固有标记 html标签是预定义的,xml标签是自定义的、可扩展的 作用不同 html是用来显示数据 xml使用来传输数据的 xpath: 路径表达式 xpath: 是用来筛选html或者xml中元素语法 xml和html中一些名词 选取节点 表达式 描述 nodename 选取此节点的所有子节点 / 从根节点选取(绝对路径) // 从任意节点选取(相对路径) . 选取当前节点 . . 选取当前节点的父节点 @ 选取属性 谓语 路径表达式 结果 /

ajax

自作多情 提交于 2020-02-14 20:48:00
前言 我们使用php动态渲染页面时,有很多比较麻烦的地方。 在前端写好页面以后,需要后台进行修改,意味这后端程序员也需要懂前端的知识,其实渲染的工作应该交给前端来做。 前端没有写好页面的话,后端无法开始工作,需要等待前端的页面完成之后才能开始工作,拖延项目的进度。 这种渲染,属于同步渲染,先获取数据, 如果数据获取的慢了, 会严重影响整个页面渲染速度, 且数据更新需要页面刷新 【演示:同步渲染】 http 协议回顾 HTTP协议,即超文本传输协议(Hypertext transfer protocol)。是一种详细规定了浏览器和服务器之间互相通信的规则 HTTP协议规定了 请求 和 响应 的标准 请求与请求报文 get请求的请求报文详解 //--------------------------请求行-------------------------------- // GET 请求方式 // /day02/01.php?username=pp&password=123456 请求路径+参数(注意点) // HTTP/1.1 HTTP的版本号 GET /day02/01.php?username=pp&password=123456 HTTP/1.1 //--------------------------请求头--------------------------------

XXE 从入门到放弃

蹲街弑〆低调 提交于 2020-02-14 08:19:36
0x00 前言 如果各位表哥表姐已经懂得啥是 XML, DTD, 那么可以直接从 0x02 什么是 XXE? 开始看; 如果你只是大概知道啥是 XML , 那么我建议你从头开始看! 0x01 XML 与 DTD XXE 漏洞全程为 XML External Entity Injection , 也就是 XML外部实体注入 漏洞。 显然, 这个漏洞和 XML 有关(废话), 那第一步, 先了解什么是 XML 。 什么是XML? 百度百科 可扩展标记语言, 标准通用标记语言的子集, 是一种用于标记电子文件使其具有结构性的标记语言。 简单来说, 它是一种语言, 表现形式类似于 HTML(超文本标记语言) , 而 XML 与 HTML 的差别在于, HMTL 是用于展示数据和页面, 而 XML 是为了更好的存储和传输数据。 HTML的容错能力使得格式可以 不必十分规范, 例如有时可能忘记闭合标签了也不会出错。而 XML 语法就严格很多。XML的语法可以参见 菜鸟教程 简单了解即可。 当然, 为了方面我们理解, 我们这里会简单讨论一下 xml 的构建模块, 即 xml 由什么东西组成. 所有的 XML 文档均由以下简单的构建模块构成: 元素 属性 实体 DATA 元素 元素是啥没啥好讲的, 基本上就长下面的样子. < 元素名 > 值 </ 元素名 > 举个例子, 下面代码中有两个元素,