xml
订阅
可扩展标记语言,标准通用标记语言的子集,简称XML。是一种用于标记电子文件使其具有结构性的标记语言。
[1]
在电子计算机中,标记指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种的信息比如文章等。它可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 它非常适合万维网传输,提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。是Internet环境中跨平台的、依赖于内容的技术,也是当今处理分布式结构信息的有效工具。早在1998年,W3C就发布了XML1.0规范,使用它来简化Internet的文档信息传输。
[2]
展开全文

可扩展标记语言,标准通用标记语言的子集,简称XML。是一种用于标记电子文件使其具有结构性的标记语言。
[1]
在电子计算机中,标记指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种的信息比如文章等。它可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 它非常适合万维网传输,提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。是Internet环境中跨平台的、依赖于内容的技术,也是当今处理分布式结构信息的有效工具。早在1998年,W3C就发布了XML1.0规范,使用它来简化Internet的文档信息传输。
[2]
信息
- 外文名
- Extensible Markup Language
- 类 型
- 标记语言
- 缩写
- XML(也做文件扩展名)
- 中文名
- 可扩展标记语言
- 其他称呼
- 可扩展置标语言、可扩展标识语言
- 中文
- 可扩标言
可扩展标记语言简介
可扩展标记语言与Access,Oracle和SQL Server等数据库不同,数据库提供了更强有力的数据存储和分析能力,例如:数据索引、排序、查找、相关一致性等,可扩展标记语言仅仅是存储数据。事实上它与其他数据表现形式最大的不同是:可扩展标记语言极其简单,这是一个看上去有点琐细的优点,但正是这点使它与众不同。
[3]
XML的简单易于在任何应用程序中读/写数据,这使XML很快成为数据交换的唯一公共语言,虽然不同的应用软件也支持其他的数据交换格式,但不久之后它们都将支持XML,那就意味着程序可以更容易的与Windows、Mac OS、Linux以及其他平台下产生的信息结合,然后可以很容易加载XML数据到程序中并分析它,并以XML格式输出结果。
[3]
-
xml
2019-05-23 15:39:41* 声明信息: <? xml version="1.0" encoding="UTF-8"?>(用于描述xml的版本和编码方式) * xml有且仅有一个根元素 * xml大小写敏感 ...DTD用于约束xml的文档格式,保证xml是一个有效的xml ...* 声明信息: <? xml version="1.0" encoding="UTF-8"?>(用于描述xml的版本和编码方式) * xml有且仅有一个根元素 * xml大小写敏感 * xml标签成对,而且要正确嵌套 * 属性值要使用双引号 * 注释:<!--这里是注释-->
DTD(文档类型定义)- DTD用于约束xml的文档格式,保证xml是一个有效的xml
- DTD可以分为两种,内部DTD,外部DTD
- 内部DTD:
<!DOCTYPE 根元素 [<!--元素声明--> <!ELEMENT 元素名 (子元素)> <!ATTLIST 元素名称 属性名称 属性类型 默认值> ]>
- 外部DTD:
<!DOCTYPE 根元素 system “文件名 ”> 外部DTD文件中不用写<!DOCTYPE 根元素 [ <!--DTD文件中的内容-->]>
-
Mybatis关联查询之一对多和多对一XML配置详解
2017-12-21 10:53:05平时在开发过程中dao、bean和XML文件都是自动生成的,很少写XML的配置关系,今天记录一下mybatis的关联查询中的多对一和一对多的情况。 首先是有两张表(学生表Student和老师Teacher表),为了更易懂,这里只设置了...平时在开发过程中dao、bean和XML文件都是自动生成的,很少写XML的配置关系,今天记录一下mybatis的关联查询中的多对一和一对多的情况。
- 首先是有两张表(学生表Student和老师Teacher表,注:这里只是为了演示一对多和多对一的情况,请不要杠),为了更易懂,这里只设置了最简单的几个必要字段。表结构如下图
Student表:
Teacher表:
- 创建实体bean
Teacher.java:
import java.util.List; public class Teacher { private Integer id; private String name; private String className; private List<Student> students; // get、set方法省略 }
Sfudent.java
public class Student { private Integer id; private String name; private Integer teacherId; private String className; private Teacher teacher; // get、set方法省略 }
- 下面重点来了:配置Mapper.xml文件:
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.tz.mybatis.dao.studentDao"> <!-- ///一对多的第一种写法/// --> <resultMap type="Teacher" id="teacherMap"> <id column="id" property="id"/> <result column="name" property="name"/> <collection property="students" ofType="Student" column="id"> <!-- 这里的column对应的是下面查询的别名,而不是表字段名 --> <id column="sid" property="id"/> <!-- property对应JavaBean中的属性名 --> <result column="sname" property="name"/> <result column="className" property="className"/> </collection> </resultMap> <!-- 查询所有的老师级各自的所有学生 --> <select id="getTeachers" parameterType="Teacher" resultMap="teacherMap"> SELECT t.id, t.NAME, t.class_Name, s.id AS sid, s. NAME AS sname, s.class_name as className FROM teacher t LEFT JOIN student s ON t.id = s.teacher_id </select> </mapper>
- 测试类:
package com.tz.test; import java.io.IOException; import java.io.InputStream; import java.util.List; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; import org.junit.Before; import org.junit.Test; import com.tz.mybatis.bean.Student; import com.tz.mybatis.bean.Teacher; public class TeacherTest { private SqlSessionFactory sqlSessionFactory; @Before public void init() throws IOException { String resource = "mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); } @Test public void getTeachers() { SqlSession session = sqlSessionFactory.openSession(); List<Teacher> list = session.selectList("com.tz.mybatis.dao.studentDao.getTeachers"); System.out.println(list); } }
下面给出第二种写法:
<!-- //一对多的第二种写法/ --> <resultMap type="Teacher" id="teacherMaps"> <id column="id" property="id"/> <result column="name" property="name"/> <result column="class_name" property="className"/> <collection property="students" ofType="Student" select="getStudents" column="id"> </collection> </resultMap> <!-- 查询所有的老师级各自的所有学生 --> <select id="getAllTeacher" parameterType="Teacher" resultMap="teacherMaps"> SELECT t.id, t.NAME, t.class_name FROM teacher t </select> <select id="getStudents" parameterType="int" resultType="Student"> select s.id, s. NAME, s.class_name as className from student s where teacher_id = #{id} </select>
@Test public void getTeachers2() { SqlSession session = sqlSessionFactory.openSession(); List<Teacher> list = session.selectList("com.tz.mybatis.dao.studentDao.getAllTeacher"); System.out.println(list); }
查询学生信息(多对一):
首先还是配置文件:
<resultMap type="Student" id="studentMap"> <id column="id" property="id"/> <result column="name" property="name"/> <result column="class_name" property="className"/> <result column="teacher_id" property="teacherId"/> <association property="teacher" select="getTeacher" column="teacher_id" javaType="Teacher"> <!-- 这里要注意的是column对应的是student中的外键,而且需是表字段名 --> </association> </resultMap> <select id="getStudent" resultMap="studentMap"> SELECT s.id, s.name, s.class_name, s.teacher_id FROM student s </select> <select id="getTeacher" resultType="Teacher" parameterType="int"> SELECT t.id, t.name, t.class_name as className FROM teacher t where id = #{teacher_id} </select>
测试类:@Test public void getStudents() { SqlSession session = sqlSessionFactory.openSession(); List<Student> list = session.selectList("com.tz.mybatis.dao.studentDao.getStudent"); System.out.println(list); }
最后:当然如果不想配置这么麻烦的信息,可以直接写一个关联查询的SQL语句,返回结果直接由Map接受即可。不过这样就不太符合面向对象的理念了。 -
xml文件下载报This XML file does not appear to have any style information associated with it....
2019-06-19 10:46:52xml文件下载报This XML file does not appear to have any style information associated with it. The document 可能是原文件缺失了文件声明 正常的xml文件 <?xml version='1.0' encoding='UTF-8'?> <...xml文件下载报This XML file does not appear to have any style information associated with it. The document
可能是原文件缺失了文件声明
正常的xml文件<?xml version='1.0' encoding='UTF-8'?> <definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:activiti="http://activiti.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.activiti.org/processdef"> </definitions>
有问题就像这样
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:activiti="http://activiti.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.activiti.org/processdef"> </definitions>
没有<?xml version='1.0' encoding='UTF-8'?>
2020-05-29补充
有时候通过接口下载XML文件,即使文件中加了<?xml version='1.0' encoding='UTF-8'?>还是报这样的错,这时候可以在response设置Header
JAVA版
response.setHeader("Content-Disposition", "attachment; filename=" + name + ".bpmn20.xml"); response.setContentType("application/octet-stream");
go语言版
//设置Content-Type w.Header().Add("Content-Type", "application/octet-stream") w.Header().Add("Content-Disposition", "attachment; filename=\""+name+"\".bpmn20.xml")
-
idea创建xml文件
2019-06-21 08:47:311、File---->Settings 2、Editor---->File And Code Templates —>...输入模板名字:Name:XML File.xml (name可以自定义) ------>后缀名extension:xml —>在面板中间输入内容: <?xml vers...1、File---->Settings
2、Editor---->File And Code Templates —>中间选中Files ----->点击+号,添加模板 ----->输入模板名字:Name:XML File.xml (name可以自定义) ------>后缀名extension:xml —>在面板中间输入内容:<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <configuration> </configuration>
----->把enable live Template(激活模板)勾选上 ------>点击Apply—ok
3、选中文件夹----->New-------->找到XML File,就可以创建xml文件了
-
使用idea创建xml文件
2018-05-29 08:52:501.打开设置弹窗 方法:点击file--...2.在搜索框输入template在左侧菜单栏找到并选中File And Code Templates。3.右侧选中file标签。...5.name无所谓,extension写xml,然后添加上内容。6.最后把enable live Template... -
XML编程
2016-12-31 23:18:48在现代的开发之中,XML技术无处不在,在各个开发框架中,也都到处充斥着XML配置文件的身影。本课程将为读者讲解XML的产生背景,并且详细分析了HTML与XML的区别、XML核心语法,重点在于XML的解析技术(DOM、SAX、DOM4... -
XML简介
2019-09-08 23:23:32什么是 XML XML 是可扩展标记语言(EXtensible Markup Language)。 XML 是一种很像HTML的标记语言。 XML 的设计宗旨是传输数据,而不是显示数据。 XML 标签没有被预定义。您需要自行定义标签。 XML 被设计为具有... -
xml笔记
2020-09-06 00:14:54该属性声明了本XML Schema文档中定义的元素是属于targetNamespace属性指定的命名空间(URI)下的。 可以将默认命名空间xmlns和targetNamespace给定不一样的值,用另外加了前缀的命名空间引用targetNamespace的命名... -
XMLViewer xml查看器
2017-12-14 15:26:28XMLViewer,查看xml文件非常好用的工具。 Viewer(xml查看器)是一款专业的xml查看软件。他可以帮助用户方便查看xml,以便检测语法是否正确。 安装之后,右键点击XML文件,选择“ View ”,方便快捷。下载地址:... -
Java中xml转义字符和gt,gte,lt,lte缩写
2018-09-16 08:58:20java mybatis XML文件中不允许出现">"、"<"之类的符号。需要转义 "="是可以正常使用的 字段 符号 说明 < < 小于号 >... -
springboot干货——(八)springboot引入外部xml配置文件
2018-01-21 20:44:04但是在实际应用中也会存在不得不添加配置文件的情况,例如集成其他框架或者需要配置一些中间件等,在这种情况下,我们就需要引入我们自定义的xml配置文件了。 正文 1.创建springboot项目,项目结构如下: 2.... -
-
XML 验证
2019-08-20 16:14:29拥有正确语法的 XML 被称为“形式良好”的 XML。 通过 DTD 验证的 XML 是“合法”的 XML。 形式良好的 XML 文档 “形式良好”或“结构良好”的 XML 文档拥有正确的语法。 “形式良好”(Well Formed)的 XML 文档会... -
Python xml.etree.ElementTree解析XML文件
2018-01-26 21:26:52xml.etree.ElementTree模块实现了一个简单而高效的API用于解析和创建XML数据。xml.etree.ElementTree模块对于恶意构造的数据是不安全的。如果您需要解析不受信任或未经验证的数据,请参阅XML漏洞。 参考文献:... -
使用XmlWriter写Xml
2018-07-20 10:17:30假定创建了XmlWriter的实例变量xmlWriter,下文中将使用此实例变量写Xml1.如何使用XmlWriter写Xml文档声明 <span style="color:#000000">// WriteStartDocument方法可以接受一个bool参数... -
XML——XML介绍和基本语法
2018-08-30 10:47:231.XML历史 gml(1969)->sgml(1985)->html(1993)->xml(1998) 1969 gml(通用标记语言),主要目的是要在不同的机器之间进行通信的数据规范 1985 sgml(标准通用标记语言) 1993 html... -
Java Sax解析xml
2018-01-23 10:06:24SAX,全称Simple API for XML,是一种以事件驱动的XMl API,是XML解析的一种新的替代方法,解析XML常用的还有DOM解析,PULL解析(Android特有),SAX与DOM不同的是它边扫描边解析,自顶向下依次解析,由于边扫描边... -
PHP 运用 XMLWriter 读写 xml 文件
2017-11-06 20:41:43米扑科技旗下的多个产品,需要脚本自动生成sitemap.xml,于是...读写xml的方式,主要围绕XMLWriter和XMLReader进行,前者用于生成xml,后者则是用来读取并解析xml 原文请见米扑博客:PHP 运用 XMLWriter 读写 xml 文件 -
XML学习1:XML概述
2016-05-31 13:02:21早就知道了XML,可惜一直没有系统的学习过,这次接触Java文件传输,又用到了XML,因此就来学习学习吧。 一XML前导 对XML最好的描述 XML是独立于软件和硬件的信息传输工具。XML是W3C的推荐标准。XML无所不在... -
json转xml、xml转json
2018-09-19 17:21:48一、jar包 所需jar包 二、xml2json 方法一: ...public String xml2json(String xml) { //创建XMLSerializer对象 XMLSerializer xmlSerializer = new XMLSerializer(); //将xml转化为json... -
Jackson将xml解析为JavaBean
2020-03-06 10:12:30观察XML文档的结构: <?xml version="1.0" encoding="UTF-8" ?> <book id="1"> <name>Java核心技术</name> <author>Cay S. Horstmann</author> <isbn lang="CN">... -
Eclipse 中 XML 警告 No grammar constraints (DTD or XML Schema) 解决方法
2016-12-30 19:13:18警告提示如下: Description Resource Path Location ... No grammar constraints (DTD or XML Schema) referenced in the document. *.xml /XXXProject line 1 XML Problem 这是由于未指定 DOCTYPE 造成的警告提示 -
xml-mapping xml 与 java 对象转换映射框架,像 XStream 一样优雅地读写xml
2019-12-03 13:42:27xml xml 是 java 实现的 xml 框架。 希望以最优雅的方式进行 xml 和 java 之间的转换处理,一行代码搞定一切。 特点 对象的和 xml 的互相映射 支持注解 @Alias 指定别名 快速开始 准备 jdk 1.7+ maven 3.x+ ... -
xml字符串保存xml文件或xml转换String字符串
2018-12-03 16:56:52废话不多说,直接上主题,先来一个xml字符串保存xml文件的方法。 /** * 字符串转xml文件并保存指定路径 * @param xmlStr xml字符串 * @param fileName 文件名称 * @param type 文件类型(后缀) * @param ... -
c# XML转JSON、JSON转XML,object转JSON
2018-06-04 13:28:05public static string XmlTojson(this string s, string r = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>") { s = s.Replace(r, ""); var doc = new XmlDocument(); ... -
PHP操作xml详解
2020-09-02 23:15:04一、加载xml,获得操作对象 <?php $xml = simplexml_load_string(xml字符串); //加载一个xml格式的字符串到内存中 $xml = simplexml_load_file(xml文件路径, 'SimpleXMLElement', LIBXML_NOCDATA); //加载文件 ... -
IntelliJ IDEA中创建xml文件
2018-09-17 13:38:381、file—setting,左上角输入template...5、输入模板名字:Name:mybatis-cfg.xml (name可以自定义) 6、后缀名extension:xml 7、在面板中间输入内容: &lt;?xml version="1.0" enc... -
svn报错The XML response contains invalid XML Malformed XML: no element found
2018-10-09 16:41:12svn下载代码的时候报错 : The XML response contains invalid XML Malformed XML: no element found 解决办法 : 新建一个仓库 , 重新上传一份代码再下载就好了。 -
python解析xml文件(解析、更新、写入)
2019-04-24 11:24:36这篇博客内容将包括对XML文件的解析、追加新元素后写入到XML,以及更新原XML文件中某结点的值。使用的是python的xml.dom.minidom包,详情可见其官方文档:xml.dom.minidom官方文档。全文都将围绕以下的customer.xml... -
xml格式详解
2019-04-29 17:35:06一、xml基础详解: 1、概述: xml:即可扩展标记语言,xml是互联网数据传输的重要工具,它可以跨越互联网任何的平台,不受编程语言和操作系统的限制,可以说它是一个拥有互联网最高级别通行证的数据携带者。xml是...
收藏数
1,080,032
精华内容
432,012
-
jupyter的使用.txt
-
css实现简易的一个导航栏(横排)
-
Unity RUST 逆向安全开发
-
pytorch optim灵活传参
-
抖音任务点赞平台源码.zip
-
2021年 系统分析师 系列课
-
jn82901336.github.io-源码
-
FPGA入门学习路线.pdf
-
基于遗传算法的平面阵列阵列稀疏(matlab程序).zip
-
零基础极简以太坊智能合约开发环境搭建并开发部署
-
linux ubuntu18.04 英伟达驱动 实测能装上 识别1080ti 1070ti显卡 NVIDIA-Linux-x86_64-460.39.run
-
各种显示器色域测试软件和计算显示器色域值软件和表格
-
网络安全岗位面试题
-
Java执行Python脚本
-
基于Flink+Hudi构建企业亿级云上实时数据湖教程(PC、移动、小
-
华为1+X——网络系统建设与运维(中级)
-
【考研初试】安徽建筑大学703艺术设计理论考研真题库资料
-
联想EXCEL培训资料.ppt
-
linux软件的安装应该都有两种方式,一种连网的安装(二进制方式安装),一种不联网的安装(源码方式安装),ROS功能包也是如此。
-
MySQL 主从复制 Replication 详解(Linux 和 W