当前位置: 首页 > news >正文

北仑网站制作百度seo综合查询

北仑网站制作,百度seo综合查询,做新媒体应该关注什么网站,重庆高端网站seo目录 一、XML(可拓展标记语言) 1.学习网站: 2.作用 3.XML标签 4.XML语法 5.解析XML (1)常见解析思想DOM 6.常见的解析工具 7.DOM4j的使用 8.文档约束 (1)概述 (2&#xf…

目录

一、XML(可拓展标记语言)

1.学习网站:

2.作用

3.XML标签

4.XML语法

5.解析XML

(1)常见解析思想DOM

6.常见的解析工具

7.DOM4j的使用

8.文档约束

(1)概述

(2)分类

(3)DTD约束

(4)引入DTD约束

(5)DTD语法

①定义元素

②定义属性

(6)schema约束

①定义元素

②定义属性

(7)引入schema约束

(8)schema和DTD约束的区别


一、XML(可拓展标记语言)

1.学习网站:

https://www.w3schoo1.com.cn

  • 标记语言:通过标签来描述数据的一门语言(标签有时我们也将其称之为元素)

  • 可扩展:标签的名字是可以自定义的

2.作用

  • 用于进行存储数据和传输数据

  • 作为软件的配置文件

3.XML标签

  • 标签由一对尖括号和合法标识符组成 < user >

  • 标签必须成对出现< user >< user/>

  • 特殊的标签可以不成对,但是必须有结束标记< user/ >

  • 标签中可以定义属性,属性和标签名空格隔开属性值必须用引号(单/双)引起来< user id = "100"/>

  • 标签需要正确的嵌套

4.XML语法

  • 后缀名为.xml

  • 文档声明必须是第一行第一列

<?xmlversion="1.0”encoding="UTF-8" standalone= “yes”?>
其中
version属性必须存在
encoding属性不是必须的,作用:打开当前xml文件的时候应该是使用什么字符编码表(默认都是UTF-8)
standalone属性不是必须的,作用:描述XML文件是否依赖其他的xml文件,取值为yes/no
  • 必须存在根标签

  • XML文件中可以定义注释信息

  • XML文件中可以存在以下特殊字符

&lt;-----------------小于
&gt;-----------------大于
&amp;----------------和号(&)
&apos;---------------单引号
&quot;---------------引号
  • XML可以存在CDATA区

<![CDATA[ ...内容...]]>

5.解析XML

(1)常见解析思想DOM
  • DOM(DocumentObject Model)文档对象模型:

就是把文档的各个组成部分看做成对应的对象,会把xmI文件全部加载到内存在内存中形成一个树形结构,再获取对应的值

其中DOM对象主要有以下部分

  • Document对象:整个xml文档

  • Element对象:所有标签

  • Attribute对象:所有属性

  • Text对象:所有文本内容

其中Element,Attribute,Text有一个共同的父类:Node对象

6.常见的解析工具

  • JAXP:SUN公司提供的一套XML的解析的API

  • JDOM:开源组织提供了一套XML的解析的API-jdom

  • DOM4J:开源组织提供了一套XML的解析的API-dom4j

  • pull :主要应用在Android手机端解析XML

7.DOM4j的使用

首先下载jar包

xml文件

<?xml version="1.0" encoding="utf-8" ?>
<books><book id="1"><name>语文</name><versions>人教版</versions></book><book id="2"><name>数学</name><versions>人教版</versions></book><book id="3"><name>数学</name><versions>苏教版</versions></book><user id="1"><name>小明</name><studentID>1235354</studentID></user>
</books>

需求:

  • 解析这个xmI文件

  • 将解析到的Book标签数据封装到Book对象中并将其存储到ArrayList集合中

  • 遍历集合

解析类:

public class Analysis {
​public Document parseUrl(String url) throws DocumentException {SAXReader reader = new SAXReader();return reader.read(url);}public Document parseUrl(File file) throws DocumentException {SAXReader reader = new SAXReader();return reader.read(file);}
​
}

Book类

public class Book {private String name;private String version;private Long id;
​public Book() {}
​public Book(String name, String version, Long id) {this.name = name;this.version = version;this.id = id;}
​public String getName() {return name;}
​public void setName(String name) {this.name = name;}
​public String getVersion() {return version;}
​public void setVersion(String version) {this.version = version;}
​public Long getId() {return id;}
​public void setId(Long id) {this.id = id;}
​@Overridepublic String toString() {return "Book{" +"name='" + name + '\'' +", version='" + version + '\'' +", id=" + id +'}';}
}

测试类

public class Application {public static void main(String[] args) throws  DocumentException {
​File file = new File("reflection\\src\\xml\\bookstores.xml");Analysis analysis = new Analysis();Document document = analysis.parseUrl(file);
​//获取根标签Element rootElement = document.getRootElement();//通过根标签获取book标签//无参elements()获取所有子标签List<Element> elements = rootElement.elements();System.out.println(elements.size());elements.forEach(book -> {System.out.println(book.getName());});
​//有参elements(标签名)可以获取所有的指定子标签List<Element> books = rootElement.elements("book");System.out.println(books.size());
​books.forEach(book -> {System.out.println("=====================================");//获取属性对应的属性值System.out.println(book.attribute("id").getValue());//获取该标签下的子标签book.elements("name").forEach(name -> {//获取标签体的内容System.out.println(name.getText());});
​book.elements("version").forEach(v -> {//获取标签体的内容System.out.println(v.getText());});});System.out.println("------------------------------------");
​//准备封装ArrayList<Book> bookArrayList = new ArrayList<>();books.forEach(book -> {Book book1 = new Book(book.element("name").getText(),book.element("version").getText(),Long.valueOf(book.attribute("id").getValue()));System.out.println(book1);bookArrayList.add(book1);});//最后检查"System.out.println("+++++++++++++++++++++++++++++++++++++++++++++++++++++");bookArrayList.forEach(book -> System.out.println(book.toString()));
​
​
​}
}

8.文档约束

(1)概述

用来限定xml文件中可使用的标签以及属性

(2)分类
  • DTD

  • schema

(3)DTD约束
  • 创建一个文件,后缀名为.dtd

  • 看xml文件中使用了哪些元素(<!ELEMENT>可以定义元素)

  • 判断元素是简单元素还是复杂元素

    • 简单元素:没有子元素

    • 复杂元素:有子元素的

xml文件:下面的约束文档的xml内容

<?xml version="1.0" encoding="utf-8" ?>
<books><book id="1"><name>语文</name><versions>人教版</versions></book><book id="2"><name>数学</name><versions>人教版</versions></book><book id="3"><name>数学</name><versions>苏教版</versions></book>
</books>

需要掌握:

  • 能在xml文件中引入dtd约束文档

  • 能够简单阅读约束文档

  • 能根据约束文档写xml文件

(4)引入DTD约束

方式一:引入本地dtd

<?xml version="1.0" encoding="utf-8" ?>
<!--在xml文件中的第二行写入 <!DOCTYPE 根标签名字 SYSTEM(表示引入本地DTD) ‘DTD文件路径’>-->
<!DOCTYPE books SYSTEM 'restrain.dtd'>

方式二:在xml文件内部引入

<?xml version="1.0" encoding="utf-8" ?>
<!--在xml文件中的第二行写入 <!DOCTYPE 根标签名字 [](表示内部引入dtd,[]内写约束内容)>-->
<!DOCTYPE books [] >

方式三:引入网络dtd

<?xml version="1.0" encoding="utf-8" ?>
<!--在xml文件中的第二行写入 <!DOCTYPE 根标签名字 PUBLIC(表示引入网络DTD) “dtd文件名” “dtd文档的url”>-->
<!DOCTYPE books PUBLIC “dtd文件名” “dtd文档的url”>

(5)DTD语法
①定义元素
<!ELEMENT元素名 元素类型>
  • 简单元素

    • EMPTY:表示标签体为空

    • ANY:表示标签体可以为空也可以不为空

    • PCDATA:表示该元素的内容部分为字符串

  • 复杂元素

    • 直接写子元素名称。

    • 多个子元素可以使用”,“或者 ”|" 隔开;

      • ” , ":表示定义子元素的顺序

      • ”|”: 表示子元素只能出现任意一个

        • "?“:零次或一次

        • ” + ":一次或多次

        • " * ":零次或多次;

        • 如果不写则表示出现一次

②定义属性
<!ATTLIST 元素名称 属性名称 属性的类型 属性的约束>
  • 属性的类型

    • CDATA类型:普通的字符串

  • 属性的约束:

    • #REQUIRED:属性是必须的

    • #IMPLIED:属性不是必需的

    • #FIXED value:属性值是固定的value值

DTD约束文件

<!--复杂元素-->
<!ELEMENT books (book+)>
<!ELEMENT book (name,version)>
<!--简单元素-->
<!ELEMENT name (#PCDATA)>
<!ELEMENT version (#PCDATA)>
<!--定义属性-->
<!ATTLIST book id #PCDATA #IMPLIED>

(6)schema约束
①定义元素
  • 创建一个文件,后缀名为.xsd

  • 定义文档声明

  • schema文件的根标签为:< schema>

  • 在< schema>中定义属性:xmIns=XML Schema

  • 在根标签中定义属性:targetNamespace =唯一的url地址,用来指定当前这个schema文件的名称空间

  • 在根标签定义属性:elementFormDefault="qualified,表示当前schema文件是一个质量良好的文件

  • 通过element定义元素

  • 判断当前元素是简单元素还是复杂元素

②定义属性
                属性名      属性类型      属性的约束【required(必须的),optional(可选的)】
<attribute name="id" type="string"use="required"></attribute>

 (7)引入schema约束
  • 在根标签定义属性:xmIns="http://www.w3.org/2001/XMLSchema-instance

  • 通过xmIns引入约束文件的名称空间

  • 给某一个xmins属性添加一个标识,用于区分不同的名称空间,格式为:xmins:标识=“名称空间地址”,标识可以是任意的,但是一般取值都是xsi

  • 通过xsi:schemaLocation指定名称空间所对应的约束文件,路径格式为:父 si:schemaLocation ="名称空间url 文件路径“

<books xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="www.book_schema.cn"xsi:shemaLocation="www.book_shema.cn book_shema.xad"
>

根据上面xml写一个xsd文件

<?xml version="1.0" encoding="UTF-8" ?>
<schema xmlns="http://www.w3.org/2001/XMLSchema"targetNamespace="www.book_schema.cn"elementFormDefault="qualified">
​
<!--    element name = "根标签名"--><element name="books">
<!--        complexType表示当前标签是复杂的元素--><complexType><sequence>
<!--               定义book复杂元素,maxOccurs:该标签最多出现的次数,unbounded是无限制--><element name="book" maxOccurs="unbounded"><complexType><sequence>
<!--                            定义简单元素--><element name="name" type="string"/><element name="version" type="string"/></sequence><attribute name="id" type="string" use="required"></attribute></complexType>
​</element>
​</sequence>
​</complexType></element>
​
</schema>
(8)schema和DTD约束的区别
  • schema约束文件也是一个xml文件,符合xm的语法,这个文件的后缀名.xsd

  • 一个xml中可以引用多个schema约束文件,多个schema使用名称空间区分(名称空间类似于java包名)

  • dtd里面元素类型的取值比较单一常见的是PCDATA类型,但是在schema里面可以支持很多个数据类型

  • schema语法更加的复杂

http://www.hengruixuexiao.com/news/8734.html

相关文章:

  • 朝鲜族做的电影网站网站推广软件下载
  • node.js可以做网站营销策划公司经营范围
  • php网站后台管理系统网络营销意思
  • 那些网站可以做外链百度教育官网登录入口
  • 现在网站建设尺寸一般多少域名注册查询阿里云
  • 视频解析网站怎么做的网站推广策划报告
  • 惠阳做网站怎么拿到百度推广的代理
  • 微信小程序开发教程从零开始seo优化排名推广
  • wordpress 注册中文名台州网站优化公司
  • 静安网站开发百度百科分类方法
  • 广西柳州网站建设网站建设培训机构
  • 什么网站可以做饼图厦门百度推广排名优化
  • 网站建设与优化站长工具外链查询
  • 好看网站手机版免费域名解析网站
  • 重庆建工集团股份有限公司官网宁德seo
  • 做a小视频免费观看网站seo系统教程
  • 用rp怎么做网站导航菜单福州网站建设团队
  • 旅游设计专业网站360搜索建站
  • 企业网站建设的公司有哪些广告做到百度第一页
  • 樟木头做网站网站怎么做外链
  • 惠州网站seo收费seoer是什么意思
  • 西安在线网站合肥seo网络营销推广
  • 一般做网站的在哪里找汕头seo建站
  • 做网站要的带宽是什么优化大师怎么样
  • 哪个网站可以发宝贝链接做宣传广告留电话号的网站
  • 无障碍 网站 怎么做亚马逊站外推广网站
  • 微网站功能介绍恢复原来的百度
  • 福州网站建设找嘉艺网络新闻稿发布
  • 哪个网站免费建站最好app开发自学
  • 一个域名能同时做2个网站吗推广管理