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

XML与Xpath

XML与Xpath

XML是一种具有某种层次结构的文件,Xpath则是解析这种文件的工具
接下来将会解释XML文件的结构和Xpath的基本使用,并且用Java语言进行操作展示。

XML结构

XML(可扩展标记语言)文件具有一种层次结构,由标签、元素、属性和文本组成
例如:

<?xml version="1.0" encoding="UTF-8"?>
<bookstore><book category="Fiction"><title lang="en">The Great Gatsby</title><author>F. Scott Fitzgerald</author><price>12.99</price></book><book category="Non-Fiction"><title lang="en">The Elements of Style</title><author>William Strunk Jr.</author><price>9.99</price><description><![CDATA[This is a <![CDATA[nested]]> CDATA section.]]></description></book>
</bookstore>

1、XML声明:通常出现在XML文档的开头,用于声明XML版本和字符编码。示例中的声明是

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

2、根元素:整个XML文档的最顶层元素,这里是。XML文档只能有一个根元素,所有其他元素都是其子元素。
3、元素:元素是XML文档的构建块,它们由开始标签和结束标签包围。例如, 和 是一对开始标签和结束标签,定义了一个元素。
4、属性:元素可以包含属性,属性提供关于元素的额外信息。在示例中,category 和 lang 是元素的属性。
5、文本:在元素的开始标签和结束标签之间的文本内容,例如,The Great Gatsby 和 F. Scott Fitzgerald 是和元素的文本内容<br/> XML文件的结构可以根据需求进行嵌套和扩展,以表示各种类型的数据和信息。这种层次结构和标记的语法使XML成为一种灵活的数据表示方式,广泛用于数据交换和存储,特别是在Web服务、配置文件和数据传输方面。<br/> 6、特殊-CDATA<br/> CDATA(Character Data)部分是XML文档中的一个特殊部分,用于包含不应由XML解析器解释的文本数据<br/> CDATA部分通常用于包含原始文本、脚本、代码片段或其他内容,这些内容可能包含特殊字符或标签,而不希望被解析为XML元素。<br/> CDATA部分以<![CDATA[开始,以]]>结束,如下所示:

<description><![CDATA[This is a <![CDATA[nested]]> CDATA section.]]>
</description>

7、特殊–DTD
DTD(Document Type Definition)是一种用于定义XML文档结构和验证其有效性的规范。DTD定义了XML文档的元素、属性、实体引用和它们之间的关系,以确保文档遵循指定的结构和规则。以下是关于DTD的一些重要信息:
元素定义:DTD定义了XML文档中可以包含哪些元素以及它们的结构。这包括元素的名称、内容类型(如文本、元素序列、混合内容等)以及它们的层次结构。
1)、属性定义:DTD也可以定义每个元素可以具有的属性、属性的数据类型,以及它们的默认值。属性可以用于提供有关元素的额外信息。
2)、实体引用:DTD支持实体引用,允许在XML文档中使用实体引用来代替常见的字符或文本。例如,< 表示小于号,> 表示大于号。
3)、文档类型声明:在XML文档的开头,可以包括一个文档类型声明,指定要使用的DTD。这有助于验证文档的结构和有效性。
4)、验证:XML解析器可以使用DTD来验证XML文档是否符合规定的结构和规则。如果文档与DTD不一致,解析器会产生错误。
以下是对开头的xml文件的定义

<!DOCTYPE bookstore [<!ELEMENT bookstore (book+)><!ELEMENT book (title, author, price)><!ELEMENT title (#PCDATA)><!ELEMENT author (#PCDATA)><!ELEMENT price (#PCDATA)><!ATTLIST book category CDATA #REQUIRED><!ATTLIST title lang CDATA #IMPLIED>
]>

在上述示例中,DTD定义了一个XML文档,其中包含bookstore元素,该元素包含至少一个book元素。每个book元素具有title、author和price子元素,并且book元素具有一个category属性,title元素具有一个可选的lang属性。
DTD对于确保XML文档的结构和有效性非常有用,但它也有一些限制和不足,包括不支持命名空间和复杂的数据类型。因此,一些应用程序选择使用XML Schema或其他模式语言来定义XML文档的结构和验证。
8、特殊–Schema
XML Schema(XML模式)是一种用于定义XML文档结构、元素、属性和数据类型的规范,它允许更精确和强大的验证和验证XML文档的有效性。与DTD(Document Type Definition)相比,XML Schema提供了更多的功能和灵活性,包括支持命名空间、更复杂的数据类型定义以及更丰富的约束。以下是有关XML Schema的一些关键信息:
1)、结构定义:XML Schema允许您定义XML文档的结构,包括元素、元素的顺序、出现次数和嵌套关系。您可以指定哪些元素是必需的,哪些是可选的,以及它们的嵌套规则。
2)、数据类型:XML Schema定义了可以用于元素和属性值的数据类型,例如字符串、整数、日期等。这允许更详细的数据验证,确保数据的格式和类型正确。
3)、约束:XML Schema支持各种约束,包括最小值、最大值、正则表达式模式、唯一性约束等。这些约束有助于确保文档数据的完整性和一致性。
4)、命名空间支持:XML Schema允许在XML文档中使用命名空间,以确保元素和属性名称的唯一性,并允许更复杂的文档结构。
5)、导入和包含:XML Schema支持模块化,可以将多个XML Schema文件组合在一起,以便更容易管理和维护模式定义。
6)、验证:XML解析器可以使用XML Schema来验证XML文档的有效性。如果文档与模式不匹配,解析器会报告错误。

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"><xs:element name="bookstore"><xs:complexType><xs:sequence><xs:element name="book" maxOccurs="unbounded"><xs:complexType><xs:sequence><xs:element name="title" type="xs:string"/><xs:element name="author" type="xs:string"/><xs:element name="price" type="xs:decimal"/></xs:sequence><xs:attribute name="category" type="xs:string"/></xs:complexType></xs:element></xs:sequence></xs:complexType></xs:element>
</xs:schema>

在上述示例中,XML Schema定义了一个bookstore元素,它包含了多个book元素,每个book元素具有title、author和price元素,以及一个category属性。这个模式将确保XML文档遵循这一结构,并且price元素的值为十进制数。

Xpath

XPath(XML路径语言)是一种用于在XML文档中选择元素和节点的查询语言。它提供了一种灵活的方法来定位XML文档中的数据,使您能够根据元素的层次结构、属性、文本内容和其他条件来检索所需的信息。XPath通常与XML文档处理、解析和转换一起使用,以提取数据或执行特定操作。
以下是XPath的一些常见用法和语法:
1、元素选择:您可以使用XPath来选择XML文档中的元素,指定元素的路径。例如,要选择元素,可以使用路径表达式/bookstore/book。
2、属性选择:XPath允许您选择元素的属性。例如,要选择lang属性的值,可以使用路径表达式/bookstore/book/title/@lang。
3、文本内容选择:使用XPath,您可以选择元素的文本内容。例如,要选择元素的文本内容,可以使用路径表达式/bookstore/book/title/text()。<br/> 4、通配符:XPath支持通配符,如*用于匹配任何元素。例如,/bookstore/*将选择元素。<br/> 5、谓词:XPath允许您使用谓词来进一步筛选元素。例如,/bookstore/book[1]将选择第一个元素。<br/> 6、逻辑运算符:您可以在XPath中使用逻辑运算符,如and和or,来组合条件。例如,/bookstore/book[price > 20 and category = ‘Fiction’]将选择价格大于20且类别为’Fiction’的书。<br/> 7、轴:XPath提供了各种轴(如child、parent、ancestor、following-sibling等)来导航文档的层次结构。这使您可以选择相对于当前节点的其他节点。<br/> XPath在多种编程语言中都有相应的库和工具,用于解析和查询XML文档。例如,在Python中,lxml库提供了XPath查询功能。在Java中,您可以使用Java API for XML Processing (JAXP) 来执行XPath查询。

扩展–Xlink和XPoint

XLink(XML Linking Language)是一种XML标准,用于定义和表示超链接信息,使其更丰富和复杂。XLink的主要目标是提供更多的灵活性和功能,以支持链接在XML文档中的使用。以下是一些关于XLink的重要信息:
1、超链接类型:XLink引入了不同类型的超链接,包括简单链接(simple link)和扩展链接(extended link)。简单链接允许你创建基本的链接,而扩展链接允许你定义更复杂的链接关系,包括多个资源和其他属性。
2、超链接元素:XLink引入了新的元素来表示超链接信息。其中, 元素用于定义超链接, 元素用于指定资源的位置, 元素用于指定链接关系。这些元素可以包含各种属性,以定义链接的性质和行为。
3、超链接属性:XLink引入了一系列属性,如xlink:href(用于指定目标资源的位置)和xlink:type(用于指定链接的类型),这些属性用于描述超链接。
4、命名空间:XLink定义了自己的XML命名空间(通常为http://www.w3.org/1999/xlink),以将XLink的元素和属性与XML文档中的其他元素分开。
XPointer:XLink可以与XPointer一起使用,XPointer是用于定位XML文档中特定部分的标准。这使得可以创建更精确的链接,例如链接到XML文档中的特定段落或元素。
使用场景:XLink可以用于多种用途,包括在XML文档中创建超链接、定义导航菜单、构建复杂的链接结构以及在文档之间建立链接。
尽管XLink提供了更多的灵活性和功能,但它并没有在Web开发中得到广泛采用,因为HTML和其他Web标准通常提供了足够的超链接功能。然而,XLink在特定领域和应用中仍然有其用武之地,特别是在XML文档中需要更复杂链接关系的情况下。

Xpath解析XML文件

1、在idea中定义xml文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE bookstore SYSTEM "bookstore.dtd">
<bookstore><book category="Fiction"><title lang="en">The Great Gatsby</title><author>F. Scott Fitzgerald</author><price>12.99</price></book><book category="Non-Fiction"><title lang="en">The Elements of Style</title><author>William Strunk Jr.</author><price>9.99</price><description><![CDATA[This is a <![CDATA[nested]]> CDATA section.]]></description></book>
</bookstore>

同时在当前目录下建立一个bookstore.dtd文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE bookstore [<!ELEMENT bookstore (book+)><!ELEMENT book (title, author, price)><!ELEMENT title (#PCDATA)><!ELEMENT author (#PCDATA)><!ELEMENT price (#PCDATA)><!ATTLIST book category CDATA #REQUIRED><!ATTLIST title lang CDATA #IMPLIED>]>

需要注意,如果是在idea里建立的,会产生一个错误
URI is not registered (Settings | Languages & Frameworks | Schemas and DTDs)
这时需要手动注册一下这个dtd文件
1)、打开你的IDE,进入 “Settings” 或 “Preferences”。
2)、寻找 “Languages & Frameworks” 或类似的选项。
3)、在 “Languages & Frameworks” 下,选择 “Schemas and DTDs” 或类似的子选项。
4)、在 “Schemas and DTDs” 设置中,你应该看到一个列表,其中包含了已经注册的 URI,以及与之关联的 XML Schema 或 DTD 文件。
如果你的 XML 文档中使用了一个未注册的 URI,你需要将其注册。在设置中,应该有一个选项来添加或注册新的 URI。
5)、通常,你可以点击 “Add” 或 “New” 按钮,然后输入要注册的 URI。
输入 URI 后,你可以为它选择相关联的 XML Schema 文件或 DTD 文件,以便在验证时使用。
确保保存设置。
在URI框中命名为bookstore.dtd,这个需要与xml文件引入的对应
6)、现在,你的IDE应该能够正确识别和验证你的 XML 文档中使用的 URI。
2、选用Xpath工具
在Java中,你可以使用许多不同的库和工具来执行XPath查询和处理XML文档。以下是一些常见的Java XPath工具和库:
1)、Java内置XPath支持:Java标准库提供了对XPath的支持,可以使用javax.xml.xpath包中的类来执行XPath查询。这包括XPathFactory和XPath类。你可以使用XPathFactory来创建一个XPath对象,然后使用它来执行XPath查询。
2)、JDOM:JDOM是一个流行的Java库,用于解析和处理XML文档。它提供了XPath支持,你可以使用org.jdom2.input.SAXBuilder来解析XML文档,然后使用org.jdom2.XPath来执行XPath查询。
3)、DOM4J:DOM4J是另一个流行的Java库,用于处理XML文档。它提供了XPath支持,你可以使用org.dom4j.Document对象的selectNodes()方法执行XPath查询。
4)、Xerces-J:Xerces-J是Apache XML项目的一部分,是一个流行的XML解析器和处理工具包。它支持XPath查询,可以使用org.apache.xpath.XPathAPI来执行查询。
5)、Saxon:Saxon是一个功能强大的XPath和XSLT处理器,它提供了高度优化的XPath引擎,用于XML文档的查询。你可以将Saxon集成到Java应用程序中,并使用其API来执行XPath查询。
6)、XMLUnit:XMLUnit是一个用于测试XML文档的Java库,它包括XPath支持,用于验证和比较XML文档。你可以使用XMLUnit来执行XPath查询以验证XML文档的结构和内

引入依赖

<dependency><groupId>org.jdom</groupId><artifactId>jdom2</artifactId><version>2.0.6</version> <!-- 请使用最新版本 --></dependency>

代码

相关文章:

XML与Xpath

XML与Xpath XML是一种具有某种层次结构的文件&#xff0c;Xpath则是解析这种文件的工具 接下来将会解释XML文件的结构和Xpath的基本使用&#xff0c;并且用Java语言进行操作展示。 XML结构 XML&#xff08;可扩展标记语言&#xff09;文件具有一种层次结构&#xff0c;由标签…...

【c++20】CPP-20-STL-Cookbook 学习笔记

Cpp20-STL-Cookbook-src简单的阅读笔记。c++20更好用了,比如STL 包含了一些这样的辅助函数,比如 make_pair() 和make_tuple() 等。 这些代码现在已经过时了,但是为了与旧代码兼容,会保留这些代码。比如 可以声明是一个std的string:Sum s1 {1u, 2.0, 3, 4.0f }?...

Python 之 Flask 框架学习

毕业那会使用过这个轻量级的框架&#xff0c;最近再来回看一下&#xff0c;依赖相关的就不多说了&#xff0c;直接从例子开始。下面示例中的 html 模板&#xff0c;千万记得要放到 templates 目录下。 Flask基础示例 hello world from flask import Flask, jsonify, url_fora…...

精品丨PowerBI负载测试和容量规划

当选择Power BI作为业务报表平台时&#xff0c;如何判断许可证的选择是否符合业务需求&#xff0c;价格占了主导因素。 Power BI的定价是基于SKU和服务器内核决定的&#xff0c;但是很多IT的负责人都不确定自己公司业务具体需要多少。 不幸的是&#xff0c;Power BI的容量和预期…...

【算法-PID】

算法-PID ■ PID■ 闭环原理■ PID 控制流程■ PID 比例环节&#xff08;Proportion&#xff09;■ PID 积分环节&#xff08;Integral&#xff09;■ PID 微分环节&#xff08;Differential&#xff09; ■ 位置式PID&#xff0c;增量式PID介绍■ 位置式 PID 公式■ 增量式 PI…...

ros rosbag使用记录

rosbag: 1. rosbag record -a 记录当前所有消息&#xff08;较少用&#xff09;2. rosbag record -O bag_name.bag /topic 记录指定消息3. rosbag info 查阅bag文件信息4. rosbag play 播放bag文件内容5. python script 查看bag文件内容参考&#xff1a; 1. rosbag record -a 记…...

WebKit结构揭秘:探秘网页渲染的魔法之源

一、WebKit之心&#xff1a;渲染引擎的魔力 WebKit的渲染引擎是其核心所在&#xff0c;它犹如一位技艺高超的魔法师&#xff0c;将HTML、CSS和JavaScript的魔法咒语转化为绚丽的网页画面。它解析代码&#xff0c;绘制页面&#xff0c;让网页内容跃然屏上&#xff0c;展现出无尽…...

VSCode美化

今天有空收拾了一下VSCode&#xff0c;页面如下&#xff0c;个人觉得还是挺好看的~~ 1. 主题 Noctis 色彩较多&#xff0c;有种繁杂美。 我使用的是浅色主题的一款Noctis Hibernus 2. 字体 Maple Mono 官网&#xff1a;Maple-Font 我只安装了下图两个字体&#xff0c;使…...

Runes 生态一周要览 ▣ 2024.3.25-3.31|Runes 协议更新 BTC 减半在即

Runes 生态大事摘要 1、Casey 发布了 Runes 协议文档 RUNES HAVE DOCS&#xff0c;Github 代码库更新到 ord 0.17.0 版本&#xff0c;Casey 表示符文是一个“严肃”的代币协议。 2、Casey 公布了第一个硬编码的创世符文「UNCOMMONGOODS」 3、4月7日香港沙龙&#xff5c;聚焦「…...

瘦身Spring Boot应用(thinJar)

瘦身Spring Boot应用(thinJar) 简介 我们使用Spring Boot提供的spring-boot-maven-plugin打包Spring Boot应用&#xff0c;可以直接获得一个完整的可运行的jar包&#xff0c;把它上传到服务器上再运行就极其方便。 但是这种方式也不是没有缺点。最大的缺点就是包太大了&…...

备战蓝桥杯---贪心刷题1

话不多说&#xff0c;直接看题&#xff1a; 本质是一个数学题&#xff1a; 我们令xi<0表示反方向传递&#xff0c;易得我们就是求每一个xi的绝对值之和min,我们令平均值为a爸。 易得约束条件&#xff1a; x1-x2a1-a,x2-x3a2-a..... 解得x1x1-0,x2x1-((n-1)*a-a2-...an)。…...

《数据结构学习笔记---第九篇》---循环队列的实现

文章目录 1.循环队列的定义 2.循环队列的判空判满 3.创建队列并初始化 4.入队和出队 5. 返回队尾队首元素 6.释放循环队列 1.循环队列的定义 定义&#xff1a;存储队列元素的表从逻辑上被视为一个环。 我们此次实现的循环队列&#xff0c;采用顺序表 typedef struct {int…...

前端调试工具之Chrome Elements、Network、Sources、TimeLine调试

常用的调试工具有Chrome浏览器的调试工具&#xff0c;火狐浏览器的Firebug插件调试工具&#xff0c;IE的开发人员工具等。它们的功能与使用方法大致相似。Chrome浏览器简洁快速&#xff0c;功能强大这里主要介绍Chrome浏览器的调试工具。 打开 Google Chrome 浏览器&#xff0c…...

vue 加 websocket 聊天

<template><div style="height: 100%; width: 100%; background-color: #fff"><div class="wrap"><!-- 头部 --><div class="titleBox"><imgsrc="@/assets/image/avatar.png"style="argin: 10p…...

uniapp通过蓝牙传输数据 (ios)

在uni-app中&#xff0c;可以通过uni-ble&#xff08;uni-app官方提供的蓝牙插件&#xff09;来实现iOS设备上的蓝牙数据传输。 首先&#xff0c;确保已在uni-app的manifest.json文件中添加uni-ble插件的配置&#xff1a; "permission": { "scope.userLocati…...

docker搭建CI/CD环境配置过程中的常见问题

一、Jenkins 1、pull镜像问题 docker pull jenkins/jenkins:lts Using default tag: latest Trying to pull repository docker.io/library/centos ... Get https://registry-1.docker.io/v2/library/centos/manifests/latest: Get https://auth.docker.io/token?scoperepo…...

实验四 微信小程序智能手机互联网程序设计(微信程序方向)实验报告

请编写一个用户登录界面&#xff0c;提示输入用户名和密码进行登录&#xff1b; 代码 index.wxml <view class"user"> <form bindreset""> <view>用户名&#xff1a;</view><input type"text"name""/>…...

WPF —— 关键帧动画

wpf动画类型 1<类型>Animation这些动画称为from/to/by动画或者叫基本动画&#xff0c;他们会在起始值或者结束值进行动画处理&#xff0c;常用的例如 <DoubleAnimation> 2 <类型>AnimationUsingKeyFrames: 关键帧动画&#xff0c;功能要比from/to这些动画功…...

Taro + vue3 小程序封装标题组件

分为没有跳转页面的title组件和 有跳转页面的title组件 我们可以把这个封装成一个组件 直接上代码 <template><div class"fixed-title-container"><div class"box"><div class"icon" v-if"isShow" click"…...

babyAGI(6)-babyCoder源码阅读2任务描述部分

废话不多说&#xff0c;我们直接看task的prompt 这里需要注意的是&#xff0c;每个openai_call的temperature都不相同&#xff0c;这也是开发程序时需要调整和关注的一点 1. 初始化代码任务agent 作为babycoder的第一个angent&#xff0c;整个prompt编写的十分值得学习 整个p…...

生成式语言模型预训练阶段验证方式与微调阶段验证方式

生成式语言模型&#xff0c;如GPT-3、BERT等&#xff0c;在预训练和微调阶段都需要进行验证以确保模型性能。下面分别介绍这两个阶段的验证方式&#xff1a; 预训练阶段的验证&#xff1a; 预训练阶段通常使用大量未标注的文本数据来训练模型&#xff0c;以学习语言的一般特性。…...

flink on yarn

前言 Apache Flink&#xff0c;作为大数据处理领域的璀璨明星&#xff0c;以其独特的流处理和批处理一体化模型&#xff0c;成为众多企业和开发者的首选。它不仅能够在处理无界数据流时展现出卓越的实时性能&#xff0c;还能在有界数据批处理上达到高效稳定的效果。本文将简要…...

用TOMCAT部署web项目教程

文章目录 引言I 使用webapps文件夹II 利用server.xmlIII 自定义配置文件IV 预备知识4.1项目的一般结构4.2 contex标签4.3 IDE部署4.4 配置Tomcat服务引言 在开发阶段,一般使用IDE如MyEclipse来部署web项目,不要忘记手动部署的三种方式。 I 使用webapps文件夹 将项目文件夹…...

bash例子-source进程替换、alias不生效处理

#1. source 例子&#xff0c; 进程替换source <(echo alias zls"ls") #上一行 中 echo替换为cat&#xff0c;则得到如下行, 好处是 cat不用处理引号转义问题&#xff0c;而echo则必须处理引号转义问题#写一段复杂脚本&#xff0c;且 不处理引号转义问题 &#x…...

rabbitmq死信交换机,死信队列使用

背景 对于核心业务需要保证消息必须正常消费&#xff0c;就必须考虑消费失败的场景&#xff0c;rabbitmq提供了以下三种消费失败处理机制 直接reject&#xff0c;丢弃消息&#xff08;默认&#xff09;返回nack&#xff0c;消息重新入队列将失败消息投递到指定的交换机 对于核…...

gitlab备份与恢复

1.1.1 查看系统版本和软件版本 cat /etc/debian_version cat /opt/gitlab/embedded/service/gitlab-rails/VERSION 1.1.2 数据备份 打开/etc/gitlab/gitlab.rb配置文件&#xff0c;查看一个和备份相关的配置项 sudo vim /etc/gitlab/gitlab.rb gitlab_rails[backup_path] &q…...

HBase详解(1)

HBase 简介 概述 HBase是Yahoo!公司开发的后来贡献给了Apache的一套开源的、分布式的、可扩展的、基于Hadoop的非关系型数据库(Non-Relational Database)&#xff0c;因此HBase并不支持SQL(几乎所有的非关系型数据库都不支持SQL)&#xff0c;而是提供了一套单独的命令和API操…...

深入理解数据结构第二弹——二叉树(2)——堆排序及其时间复杂度

看这篇前请先把我上一篇了解一下&#xff1a;深入理解数据结构第一弹——二叉树&#xff08;1&#xff09;——堆-CSDN博客 前言&#xff1a; 相信很多学习数据结构的人&#xff0c;都会遇到一种情况&#xff0c;就是明明最一开始学习就学习了时间复杂度&#xff0c;但是在后期…...

视频汇聚/安防监控/EasyCVR平台播放器EasyPlayer更新:新增【性能面板】

视频汇聚/安防监控/视频存储平台EasyCVR基于云边端架构&#xff0c;可以在复杂的网络环境中快速、灵活部署&#xff0c;平台视频能力丰富&#xff0c;可以提供实时远程视频监控、视频录像、录像回放与存储、告警、语音对讲、云台控制、平台级联、磁盘阵列存储、视频集中存储、云…...

【教程】Flutter 应用混淆

在移动应用开发中&#xff0c;保护应用代码安全至关重要。Flutter 提供了简单易用的混淆工具&#xff0c;帮助开发者在构建 release 版本应用时有效保护代码。本文将介绍如何在 Flutter 应用中使用混淆&#xff0c;并提供了相关的操作步骤和注意事项。 &#x1f4dd; 摘要 本…...

韩国网站怎么打开/免费seo教程分享

本文同步发表于 个人博客。 前言 感觉 leetcodeleetcodeleetcode 周赛不花时间&#xff0c;做一做还能保持一下手感&#xff0c;最重要的是能让人在周末早起。于是以后可能就会多打打 leetcodeleetcodeleetcode 了。 周赛273 AK时间: 21min 最终排名&#xff1a; A 5963…...

未来的门户网站/线上推广引流渠道

三维在理解了如何绘制2D元素之后&#xff0c;我们尝试绘制3D元素。 其实多个三角形也能够成四面体&#xff0c;多个长方形也能够成六面体&#xff0c;所以绘制3D元素的时候&#xff0c;只要顶点数量匹配就行了 这里我们尤其注意&#xff0c;我把绘制之前的三个平移和三个旋转单…...

北京网站建设公司电话/网络营销的特点和优势

进程间通信一、管道创建管道父子进程的管道单向通信父子间的双向通信管道Shell中的管道通信匿名管道与命名管道管道特点二、消息队列不足三、共享内存四、信号量五、信号六、Socket创建Socket的系统调用通信方式TCP协议通信的Socket编程模型UDP协议通信的Socket编程模型本地进程…...

wordpress 内页插件/搭建网站

原文出处&#xff1a; 微软互联网开发支持 Visual Studio 是一个强大的调试工具&#xff0c;里面很多隐藏功能少有人问津&#xff0c;但是在特定场景可以节省你很多时间&#xff0c;本文主要介绍一些Visual Studio调试相关的隐藏功能&#xff0c;欢迎大家补充。 运行到光标(R…...

网站排名查询平台/中国seo排行榜

CentOS7——阿里云ESC 安装 Docker 步骤&#xff1a;1. 安装 Docker2. 配置阿里镜像源3. Docker 服务常用命令1. 安装 Docker # 安装必要的一些系统工具 sudo yum install -y yum-utils device-mapper-persistent-data lvm2# 添加软件源信息 sudo yum-config-manager --add-re…...

有域名和主机怎么做网站/护肤品营销策划方案

《大学计算机基础实训教程参考答案(更新)》由会员分享&#xff0c;可在线阅读&#xff0c;更多相关《大学计算机基础实训教程参考答案(更新)(12页珍藏版)》请在人人文库网上搜索。1、第8章 计算机基础知识练习答案一、单项选择题1. A2. B3. A4. A5. A6. C7. C8. C9. D10. A11. …...