XML学习

1 XML介绍

XML是可扩展的标记性语言,常用来传输和存储数据。可见于Web中的web.xml和Maven中的pom.xml
在这里插入图片描述
在这里插入图片描述
version是版本,encoding是编码

<?xml version="1.0" encoding="UTF-8"?> 

2 XML语法

  • 标签可以包含字母、数字以及其他字符
  • 标签不能以数字或者标点符号开头
  • 标签不能包含空格
  • 标签对大小写敏感
  • XML属性值必须加引号,即使是数字
  • XML必须且只能包含一个根元素,它是所有其他元素的父元素

以下实例中root是根元素

<?xml version="1.0" encoding="UTF-8"?>
<root>
 	<child>
    	<subchild>.....</subchild>
 	</child>
</root>

3 XML特殊字符

字符 XML表示
& &amp;
< &lt;
> &gt;
" &quot;
&apos;

注:可以用特殊标签<![CDATA[ 内容]],内容会被当作文本,不会被XML解析

<?xml version="1.0" encoding="UTF-8"?>
<root>
    <name>&lt;XML学习&gt;</name>
    <name><![CDATA[<XML学习>]]></name>
</root>

在这里插入图片描述

4 XML文档结构

XML 文档形成了一种树结构,它从"根部"开始,然后扩展到"枝叶"。

<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
    <book category="COOKING">
        <title lang="en">Everyday Italian</title>
        <author>Giada De Laurentiis</author>
        <year>2005</year>
        <price>30.00</price>
    </book>
    <book category="CHILDREN">
        <title lang="en">Harry Potter</title>
        <author>J K. Rowling</author>
        <year>2005</year>
        <price>29.99</price>
    </book>
    <book category="WEB">
        <title lang="en">Learning XML</title>
        <author>Erik T. Ray</author>
        <year>2003</year>
        <price>39.95</price>
    </book>
</bookstore>

在这里插入图片描述

5 XML命名空间

当两个不同的文档使用相同的元素名时,就会发生命名冲突,可以通过命名空间避免这种冲突。当命名空间被定义在元素的开始标签中时,所有带有相同前缀的子元素都会与同一个命名空间相关联。
命名空间声明的语法为:xmlns:前缀=“URI”(URI同前缀一起标识一个命令空间,可能前缀会相同,但是URI一般不同)

如下代码中book标签的title和author标签的title重复,程序可能不能区分这两个title

<book>
	<title>西游记</title>
	<author>
		<name>吴承恩</name>
		<title>先生</title>
	</author>
</book>

可以通过命令空间加以区分

<b:book xmlns:b="http://www.atguigu.com/xml/b"
	xmlns:a="http://www.atguigu.com/xml/a">
	<b:title>西游记</b:title>
	<a:author>
	<a:name>吴承恩</a:name>
	<a:title>先生</a:title>
	</a:author>
</b:book>

此外,命令空间可以不加前缀,表示默认的命名空间,一个XML文档只能有一个默认的命名空间

<book xmlns="http://www.atguigu.com/xml/b"
	xmlns:a="http://www.atguigu.com/xml/a">
	<title>西游记</title>
	<a:author>
		<a:name>吴承恩</a:name>
		<a:title>先生</a:title>
	</a:author>
</book>

xmlns:xsi 与 xsi:schemaLocation

<?xml version="1.0" encoding="UTF-8" ?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd">

    <!--配置User对象创建-->
    <bean id="user" class="springstudy.User"></bean>
</beans>

xsi是一个业界默认的用于获得xsd文件的命名空间,而xsd用于定义xml文档结构,xsi:schemaLocation = “键” “值”,“键”指代一个命名空间,“值”为该命名空间下的xsd文件的地址,必须存在
如图中键为http://www.springframework.org/schema/beans中可以找到值为http://www.springframework.org/schema/beans/spring-beans.xsd的文件
在这里插入图片描述

相关推荐

  1. <span style='color:red;'>XML</span><span style='color:red;'>学习</span>

    XML学习

    2024-02-15 18:32:01      52 阅读
  2. Spring 学习2 --基于xml管理Bean

    2024-02-15 18:32:01       48 阅读
  3. XML语言的学习记录2-XMLHttpRequest

    2024-02-15 18:32:01       44 阅读
  4. XML语言的学习记录5- XSD

    2024-02-15 18:32:01       45 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-15 18:32:01       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-15 18:32:01       106 阅读
  3. 在Django里面运行非项目文件

    2024-02-15 18:32:01       87 阅读
  4. Python语言-面向对象

    2024-02-15 18:32:01       96 阅读

热门阅读

  1. coding持续集成构建环境自定义node版本

    2024-02-15 18:32:01       56 阅读
  2. STM32 SPI

    STM32 SPI

    2024-02-15 18:32:01      42 阅读
  3. P1008 [NOIP1998 普及组] 三连击

    2024-02-15 18:32:01       51 阅读
  4. 蔚来面试解答

    2024-02-15 18:32:01       55 阅读
  5. 【在 Ubuntu 上配置 Nginx 作为 Web 服务器】

    2024-02-15 18:32:01       58 阅读
  6. Momentum2

    Momentum2

    2024-02-15 18:32:01      41 阅读
  7. C++重新入门-基本输入输出

    2024-02-15 18:32:01       48 阅读
  8. 【开源讲解】

    2024-02-15 18:32:01       51 阅读
  9. win+X无反应,开始菜单右击无反应

    2024-02-15 18:32:01       55 阅读