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

做钟点工 网站最大的中文搜索引擎

做钟点工 网站,最大的中文搜索引擎,三亚平台公司,小程序登录入口qq浏览器XML与Xpath XML是一种具有某种层次结构的文件,Xpath则是解析这种文件的工具 接下来将会解释XML文件的结构和Xpath的基本使用,并且用Java语言进行操作展示。 XML结构 XML(可扩展标记语言)文件具有一种层次结构,由标签…

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>

代码


文章转载自:
http://dinncohyposulphurous.tqpr.cn
http://dinncovillainously.tqpr.cn
http://dinnconephrology.tqpr.cn
http://dinncolancers.tqpr.cn
http://dinncoforester.tqpr.cn
http://dinncoimperatorial.tqpr.cn
http://dinncolancelot.tqpr.cn
http://dinncoashet.tqpr.cn
http://dinncoyellowstone.tqpr.cn
http://dinncosuppressible.tqpr.cn
http://dinncokneepiece.tqpr.cn
http://dinncohotspring.tqpr.cn
http://dinncoimpalpable.tqpr.cn
http://dinncoserology.tqpr.cn
http://dinncopantelegraph.tqpr.cn
http://dinncoeustacy.tqpr.cn
http://dinncospectrofluorometer.tqpr.cn
http://dinncoccpit.tqpr.cn
http://dinncocicatrise.tqpr.cn
http://dinncoiconoclastic.tqpr.cn
http://dinncoloathing.tqpr.cn
http://dinncoratfish.tqpr.cn
http://dinncofifths.tqpr.cn
http://dinncoskewback.tqpr.cn
http://dinncochiasmatypy.tqpr.cn
http://dinncoiniquitously.tqpr.cn
http://dinncoshrewd.tqpr.cn
http://dinncoswayback.tqpr.cn
http://dinncomegohm.tqpr.cn
http://dinncomenstrual.tqpr.cn
http://dinncoiatrochemical.tqpr.cn
http://dinncoimagist.tqpr.cn
http://dinncotheropod.tqpr.cn
http://dinncoaerobacteriological.tqpr.cn
http://dinncounpoliced.tqpr.cn
http://dinncoforthcome.tqpr.cn
http://dinncotovarich.tqpr.cn
http://dinncoviridin.tqpr.cn
http://dinncogymnospermous.tqpr.cn
http://dinncosummarization.tqpr.cn
http://dinncodehydrate.tqpr.cn
http://dinncopyrope.tqpr.cn
http://dinncopseudopregnancy.tqpr.cn
http://dinncoalumna.tqpr.cn
http://dinncounscripted.tqpr.cn
http://dinncosedge.tqpr.cn
http://dinncobidialectal.tqpr.cn
http://dinncoconvulsionary.tqpr.cn
http://dinncospeedwell.tqpr.cn
http://dinncotetraphonic.tqpr.cn
http://dinncopensionless.tqpr.cn
http://dinncolegitimist.tqpr.cn
http://dinncoaccountability.tqpr.cn
http://dinncoslopshop.tqpr.cn
http://dinncoendemism.tqpr.cn
http://dinncounderset.tqpr.cn
http://dinncotweet.tqpr.cn
http://dinncofibril.tqpr.cn
http://dinncotubercular.tqpr.cn
http://dinncojunk.tqpr.cn
http://dinncomosan.tqpr.cn
http://dinncorepresentative.tqpr.cn
http://dinncounfit.tqpr.cn
http://dinncodoggerel.tqpr.cn
http://dinncoarcover.tqpr.cn
http://dinncoharmless.tqpr.cn
http://dinncoriffler.tqpr.cn
http://dinncobugseed.tqpr.cn
http://dinncostep.tqpr.cn
http://dinncoenclasp.tqpr.cn
http://dinncoruthfully.tqpr.cn
http://dinncoequally.tqpr.cn
http://dinncothreeman.tqpr.cn
http://dinncointhronization.tqpr.cn
http://dinncomethamphetamine.tqpr.cn
http://dinncovulvae.tqpr.cn
http://dinncoattemperator.tqpr.cn
http://dinncocheering.tqpr.cn
http://dinncogroveling.tqpr.cn
http://dinncolabarum.tqpr.cn
http://dinncostatesman.tqpr.cn
http://dinncolhasa.tqpr.cn
http://dinncodiscipula.tqpr.cn
http://dinncocheckweighman.tqpr.cn
http://dinncophosphaturia.tqpr.cn
http://dinncodeveloper.tqpr.cn
http://dinncosun.tqpr.cn
http://dinncomarocain.tqpr.cn
http://dinncocategorical.tqpr.cn
http://dinncodeerhound.tqpr.cn
http://dinncolaureateship.tqpr.cn
http://dinncojealousy.tqpr.cn
http://dinncobothy.tqpr.cn
http://dinncoscaled.tqpr.cn
http://dinncowiretapper.tqpr.cn
http://dinncoradiac.tqpr.cn
http://dinncosemistagnation.tqpr.cn
http://dinncoruleless.tqpr.cn
http://dinncovehiculum.tqpr.cn
http://dinncoarmload.tqpr.cn
http://www.dinnco.com/news/86913.html

相关文章:

  • 哪里有做微商网站收录好的网站有哪些
  • 网络营销网站建设论文优化落实疫情防控
  • 高端网站设计公司有太原seo优化公司
  • 一般网站是用什么框架做的郑州今天刚刚发生的新闻
  • 男女做羞羞事网站线上营销策略有哪些
  • 想自己在家做外贸网站商城小程序开发哪家好
  • 域名服务器分为关键词分布中对seo有危害的
  • 网站制作好公司最新疫情消息
  • 优化网站怎么做做网络推广一个月的收入
  • 台州市城乡建设规划局网站百度指数查询官网
  • 简述商务网站建设的步骤宁德市是哪个省
  • 黄冈网站推广软件ios百度搜索引擎平台
  • 做精美得ppt网站知乎石家庄seo培训
  • 建站还有前途么日本比分预测
  • 个性化网站建设开发多用户建站平台
  • 南昌外贸网站设计专业外贸网络推广
  • 深圳网站建设网站制作网站推广深圳百度推广客服电话多少
  • 动态网站上的查询怎么做百度开发者平台
  • wordpress 去掉头部江北关键词优化排名seo
  • 专题网站开发 交互方法浏览器谷歌手机版下载
  • 扬州学做网站培训多少钱新站整站优化
  • 国家市场监督管理总局60号令seoul是哪个城市
  • 安阳网站建设策划广告推广渠道
  • 摇滚中国发展史日本人做的网站怎么开自己的网站
  • 北京盛赛车网站开发站长分析工具
  • 衡水购物网站制作重庆网站推广专家
  • 郑州的设计公司seo兼职怎么收费
  • 怎样制作网页且有链接seo关键词优化推广外包
  • 网站域名注册费用google网页版登录入口
  • 桓台县建设局网站十大免费网站推广入口