<?xml version="1.0" encoding="UTF-8"?>
<root>
<person lang="cn">
<name>smiky</name>
<age>20</age>
<sex>boy</sex>
</person>
<person lang="en">
<name multiple="true">欧阳疯</name>
<age>24</age>
<sex>girl</sex>
</person>
</root>
<!--
*XPath的七种节点类型:
*元素,属性,文本,文档节点(即根节点),命名空间,注释,处理指令
*
*节点关系:
*父、子、兄弟、先辈、后代
*
*Xpath常用符号:
*/ 从根节点开始选
*// 从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置 (example://name,会选择两个name元素,不考虑name元素出现在那)
*. 当前节点
*..父节点
*| 表示或 (example: //person[1] | person[2] 会选择两个person)
*@ 选取属性 (example: //@multiple 会选取<name multiple="true">欧阳疯</name>中的值true)
* * 用于匹配任意元素
* @*用于匹配任意属性
*node()匹配任意节点(//person/age/node())
*text()匹配文本节点(//person/age/text())
//node()与text()相关于一个节点来使用
*last()匹配最后一个节点 (//person[last()-1]匹配倒数第二个person)
*position()匹配某个位置(如//person[position=1]选择第一个person)
//last()与position看样子只能在谓语中使用
*
*
*XPath的12个轴:
*ancestor 父辈(包括父节点及祖父等)
*ancestor-or-self 相对于ancestor多了它自身
*descentdant 后辈(包括子节点及孙节点)
*descentdant-or-selt 相对于descendant多了它自身
*attribute 选择当前节点的属性
*child 选取当前节点的子节点
*parent 选择当前节点的父节点
*self 选择当前节点
*namesapce 选取当前节点的所有命名空间节点
*following 选择当前节点标签结束之后的所有节点(如//person[1]/following::*,不仅会选第二个person,还会选person[2]中的name,age,sex)
*preceding 与following相反,选择当前节点开始之前的所有节点
*preceding-sibling 选择preceding的兄弟节点
*
*轴的使用:
*//person[2]/ancestor-or-self::*[1]
* 轴 ::轴中对应的节点[谓语(进一步选择)]
*
*XPath运算符
*|,+,-,div(除),mod,*(乘法),>,>=,<,<=,=,!=,and,or
*运算符好像只能用在谓语里面对节点进行进一步的过滤
//person[age>=20 and age=24] 根据子元素的值选择
//person[@lang="cn"] 根据属性选择
1. /bookstore/book/@category
2. /bookstore/book[@category]
这两者之间的区别:1选取的是一个属性节点,2选取的是具有category属性的book,2中属性只是谓语,用于限定选取结果
XSLT常用元素:
<xsl:template match="/"></xsl:template>
<xsl:value-of select=""/>
<xsl:for-each select="" ></xsl:for-each>
<xsl:sort select=""/>
<xsl:if test=""></xls:if>
<xsl:choose>
<xsl:when test="age>23"></xsl:when>
<xsl:when test="age>20"></xsl:when>
<xsl:otherwise></xsl:otherwise>
</xsl:choose>
这里相当于:
if(age>23){
}else if(age>20){
}else{
}
<xsl:apply-templates />
XQuery:
XQuery 使用函数来提取 XML 文档中的数据。
doc() 用于打开 "books.xml" 文件:
doc("books.xml")/bookstore/book[price>30],XQuery 使用谓语来限定从 XML 文档所提取的数据
FLWOR:
for 语句把 bookstore 元素下的所有 book 元素提取到名为 $x 的变量中。(测试过,变量名前要加$,不加报错)
where 语句选取了 price 元素值大于 30 的 book 元素。
order by 语句定义了排序次序。将根据 title 元素进行排序。
return 语句规定返回什么内容。在此返回的是 title 元素。
for, let, where, order by, return
for $book in doc("books.xml")/bookstore/book
where $book/price>30
order by $book/price
return $book/title
for $book in doc("books.xml")/bookstore/book
order by $book/price
return $book/title
<ul>
{
for $x in doc()/bookstore/book/title
order by $x
return <li>{data($x)}</li>//data($x)用于获取$x的值,必须用{}括起来,不然就会原样输出data($x)
}
</ul>
可以看出XQuery用{}来区分代码与非代码部分(如同JSP中的<%%>)
当代码与非代码连接时一定要用{}括起代码部分,否则XQuery将全部当成非代码处理(即当字成符),对于只有代码的话不用括起来
XQuery 的基础语法规则:
一些基本的语法规则:
•XQuery 对大小写敏感
•XQuery 的元素、属性以及变量必须是合法的 XML 名称。
•XQuery 字符串值可使用单引号或双引号。
•XQuery 变量由 “$” 并跟随一个名称来进行定义,举例,$bookstore
•XQuery 注释被 (: 和 :) 分割,举例,(: XQuery 注释 :)
XQuery注意事项:
XQuery返回的要么只有数据,要么是有正常开始结束标签的字符串(<abc>123</abc>,这样<abc>123会报错)
可以出现这种结果:
<abc>123</abc>
123
<abc>123</123>
并且在只有代码时不能用{}括着代码
如:{doc()/bookstore/book}会报错
-->
分享到:
相关推荐
去年我学jQuery的时候,曾经做过一点选择器(selector)的笔记,今天是CSS的选择器,以后还有一部分xPath的选择器。今天的笔记中包括44个选择器,基本涵盖了CSS 2和CSS 3的所有规定
在“爬虫项目Music-main开发笔记”中,我们可以探索到一系列关于网络爬虫开发的知识点。网络爬虫是一种自动化程序,用于抓取互联网上的信息,通常用于数据分析、搜索引擎索引和内容聚合。在这个项目中,我们可能涉及...
答:不会发生死锁,(但有一点int是按值传递的,所以每次改变的都只是一个副本,因此不会出现死锁。但如果把int换做一个object,那么死锁会发生) 30.简要谈一下您对微软.NET 构架下remoting和webservice两项技术的...
去年我学jQuery的时候,曾经做过一点选择器(selector)的笔记。 这几天拿出来看了一下,发现很多都忘记了。所以,我决定把它们贴在这里,方便以后查看。这对其他朋友应该也是有用的,毕竟选择器是制作网页效果的第...
基于 OpenCV 的魔兽世界钓鱼机器人
供应链管理中信息共享问题的研究
青春文学中的爱情观呈现
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
XLSReadWriteII6.02.01.7z
图解系统-小林coding-v1.0
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
漫画作品与乌托邦理想追求
江苏建筑消防设施维护保养规程.rar
内容概要:论文介绍了一款名为DODRIO的交互式可视化工具,帮助自然语言处理(NLP)研究人员和从业者解析基于转换器架构的语言模型内部工作机理。DODRIO整合了概述图与详尽视图,支持用户比较注意力权重与其输入文本的句法结构和语义特征。具体而言,它包含了依赖关系视图(Dependency View)、语义关注图(Semantic Attention Graph)以及注意力头概览(Attention Head Overview),并利用不同的图形展示方法使复杂的多层多头转换器模型中的注意力模式更容易理解和研究。 适用人群:适用于从事深度学习、自然语言处理的研究人员和技术从业者;尤其适合对基于变换器架构的大规模预训练语言模型感兴趣的开发者们。 使用场景及目标:DODRIO用于探索转换器模型各层级之间的联系、验证已有研究成果,同时激发新假设形成。具体使用时可以选择特定数据集中的句子作为样本输入,观察不同注意力机制如何响应文本内容的变化。此外,还可以用来对比精简版本DistilBERT的表现,评估其相对全量模型BERT的优势与不足。 其他说明:DODRIO为开源项目,提供web端实施方式,使得
该代码使用scikit-learn的乳腺癌数据集,完成分类模型训练与评估全流程。主要功能包括:数据标准化、三类模型(逻辑回归、随机森林、SVM)的训练、模型性能评估(分类报告、混淆矩阵、ROC曲线)、随机森林特征重要性分析及学习曲线可视化。通过`train_test_split`划分数据集,`StandardScaler`标准化特征,循环遍历模型进行统一训练和评估。关键实现细节包含:利用`classification_report`输出精确度/召回率等指标,绘制混淆矩阵和ROC曲线量化模型效果,随机森林的特征重要性通过柱状图展示,学习曲线分析模型随训练样本变化的拟合趋势。最终将原始数据和预测结果保存为CSV文件,便于后续分析,并通过matplotlib进行多维度可视化比较。代码结构清晰,实现了数据处理、模型训练、评估与可视化的整合,适用于乳腺癌分类任务的多模型对比分析。
在智慧城市建设的大潮中,智慧园区作为其中的璀璨明珠,正以其独特的魅力引领着产业园区的新一轮变革。想象一下,一个集绿色、高端、智能、创新于一体的未来园区,它不仅融合了科技研发、商业居住、办公文创等多种功能,更通过深度应用信息技术,实现了从传统到智慧的华丽转身。 智慧园区通过“四化”建设——即园区运营精细化、园区体验智能化、园区服务专业化和园区设施信息化,彻底颠覆了传统园区的管理模式。在这里,基础设施的数据收集与分析让管理变得更加主动和高效,从温湿度监控到烟雾报警,从消防水箱液位监测到消防栓防盗水装置,每一处细节都彰显着智能的力量。而远程抄表、空调和变配电的智能化管控,更是在节能降耗的同时,极大地提升了园区的运维效率。更令人兴奋的是,通过智慧监控、人流统计和自动访客系统等高科技手段,园区的安全防范能力得到了质的飞跃,让每一位入驻企业和个人都能享受到“拎包入住”般的便捷与安心。 更令人瞩目的是,智慧园区还构建了集信息服务、企业服务、物业服务于一体的综合服务体系。无论是通过园区门户进行信息查询、投诉反馈,还是享受便捷的电商服务、法律咨询和融资支持,亦或是利用云ERP和云OA系统提升企业的管理水平和运营效率,智慧园区都以其全面、专业、高效的服务,为企业的发展插上了腾飞的翅膀。而这一切的背后,是大数据、云计算、人工智能等前沿技术的深度融合与应用,它们如同智慧的大脑,让园区的管理和服务变得更加聪明、更加贴心。走进智慧园区,就像踏入了一个充满无限可能的未来世界,这里不仅有科技的魅力,更有生活的温度,让人不禁对未来充满了无限的憧憬与期待。
内容概要:本文档介绍了基于MATLAB实现的贝叶斯优化(BO)、Transformer和GRU相结合的多特征分类预测项目实例,涵盖了详细的程序设计思路和具体代码实现。项目旨在应对数据的多样性与复杂性,提供一种更高效的多特征数据分类解决方案。文档主要内容包括:项目背景与意义,技术难点与解决方案,具体的实施流程如数据处理、模型构建与优化、超参数调优、性能评估以及精美的GUI设计;详细说明了Transformer和GRU在多特征数据分类中的应用及其与贝叶斯优化的有效结合,强调了其理论与实际应用中的价值。 适合人群:具备一定机器学习和MATLAB编程基础的研发人员,特别是从事多维数据处理与预测工作的专业人士和技术爱好者。 使用场景及目标:① 适用于金融、医疗、交通等行业,进行复杂的多维数据处理和预测任务;② 提升现有分类任务中复杂数据处理的准确度和效率,为各行业提供智能预测工具,如金融市场预测、患者病情发展跟踪、交通流量管理等。 其他说明:本文档包含了丰富的实战案例和技术细节,不仅限于模型设计本身,还涉及到数据清洗、模型优化等方面的知识,帮助使用者深入理解每一步骤背后的原理与实现方法。通过完整的代码样例和GUI界面设计指导,读者可以从头到尾跟随文档搭建起一套成熟的分类预测系统。
大数据的sql练习题,初级中级高级
内容概要:论文介绍了名为Transformer的新网络架构,它完全基于自注意力机制,在不使用递归或卷积神经网络的情况下建模输入与输出之间的全局依赖关系,尤其适用于长文本处理。通过多头自注意力层和平行化的全连接前馈网络,使得在机器翻译任务上的表现优于当时最佳模型。具体地,作者用此方法实现了对英语-德语和英语-法语翻译、句法解析等任务的高度并行化计算,并取得显著效果。在实验方面,Transformer在较短训练时间内获得了高质量的翻译结果以及新的单一模型基准。除此之外,研究人员还探索了模型变体的效果及其对于不同参数变化时性能的变化。 适用人群:从事自然语言处理领域的研究者、工程师、学生,熟悉深度学习概念尤其是编码器-解码器模型以及关注模型创新的人士。 使用场景及目标:主要适用于序列到序列(seq2seq)转换任务如机器翻译、语法分析、阅读理解和总结等任务的研究和技术开发;目标在于提高计算效率、缩短训练时间的同时确保模型性能达到或超过现有技术。 其他说明:本文不仅提出了一个新的模型思路,更重要的是展示了自注意力机制相较于传统LSTM或其他方式所拥有的优势,例如更好地捕捉远距离上下文关系的能力
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。