首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么HTML::fragment不起作用而::XML起作用?

HTML::fragment和::XML是XPath查询语言中的两个轴(axis)。

HTML::fragment轴用于选择HTML文档中的片段(fragment),它会忽略非HTML标签的内容。该轴只会选择与当前节点相邻的同级节点,并不会跨越元素边界。因此,当使用HTML::fragment轴时,只会返回当前节点的同级HTML节点。

相反,::XML轴用于选择XML文档中的节点,包括元素节点、属性节点、文本节点等等。该轴会选择当前节点的所有同级节点,无论节点类型如何。

所以,当使用HTML::fragment轴时,它可能不会选择到非HTML标签的节点,因为它只关注HTML标签的节点。而::XML轴则会选择到所有节点,包括HTML标签以外的节点。

这种行为的原因是因为HTML和XML是两种不同的标记语言,它们的语法规则和元素定义有所不同。HTML的语法相对宽松,允许一些非标准的写法,而XML则要求严格的语法和标签闭合规则。因此,XPath在处理HTML文档时,可能会对标签解析产生一些差异。

举例来说,假设我们有以下HTML文档片段:

代码语言:txt
复制
<div id="container">
  <p>Hello</p>
  <span>World</span>
</div>

使用HTML::fragment轴选择器,只会返回当前节点的同级HTML节点,即<p>Hello</p><span>World</span>。而使用::XML轴选择器,则会返回当前节点的所有同级节点,即<p>Hello</p><span>World</span>以及文本节点HelloWorld

总结起来,HTML::fragment轴适用于选择HTML标签的节点片段,而::XML轴适用于选择所有节点,包括HTML标签以外的节点。具体使用哪个轴取决于你的需求和文档类型。如果需要选择HTML标签的节点片段,使用HTML::fragment;如果需要选择所有节点,使用::XML。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

为什么我的样式不起作用

实际看到的效果确实蓝底白字与红底白字,为什么与写的代码有出入呢。 究其原因 为什么子组件的字体颜色不是黑色确是白色? ?...为什么同样.parent .component 和.child .component是父级覆盖子级? ?...这就要涉及到浏览器渲染原理与css的浏览器解析原则则了 浏览器渲染 浏览器将获取的HTML文档解析成DOM树。 处理CSS标记,构成层叠样式表模型CSSOM(CSS Object Model)。...如果是这样的规定的话,还是上面的例子就变成了,先找到所有的span标签,然后找span标签是h3的,然后再延着h3往上寻找,这时候发现一个选择器的类名为.nav就把这个节点加入结果集;如果一直往上找直到html...最后 文章首发于:为什么我的样式不起作用? 参考:浏览器渲染原理与过程 参考:CSS选择器从右向左的匹配规则 DEMO地址

4.2K20
  • 为什么 strace 在 Docker 中不起作用

    protected]:/# strace ls strace: ptrace(PTRACE_TRACEME, ...): Operation not permitted strace 通过 ptrace 系统调用起作用...为什么 strace 不能工作,为什么--cap-add=SYS_PTRACE 可以解决这个问题? 假设 1:容器进程缺少 CAP_SYS_PTRACE 能力。...为什么?! 假设 2:关于用户命名空间的事情? 我的下一个(没有那么充分的依据的)假设是“嗯,也许这个过程是在不同的用户命名空间里, strace 不能工作,因为某种原因而行不通?”... ptrace 在被 Docker 默认的 seccomp 配置文件阻止的系统调用列表中!(实际上,允许的系统调用列表是一个白名单,所以只是ptrace 不在默认的白名单中。...为什么 --cap-add=SYS_PTRACE 能解决问题? 我们还没有解释的是:为什么 --cap-add=SYS_PTRACE 可以解决这个问题?

    6.3K30

    前端小知识:为什么你写的 height:100% 不起作用

    为什么想要设置一个全屏元素的时候,高度不受%的控制?...prdimheight.asp 2.width:100%; 我们写下这样一段代码,随意设置一个背景色便于观察元素 可以看到基本上宽的100%很容易就实现的,但是这里的height却不能设置成%比的(该元素会消失看不见),这是为什么呢...参考:http://www.webhek.com/post/css-100-percent-height.html 4.如何解决 现在你知道了吧,%是一个相对父元素计算得来的高度,要想使他有效,我们需要设置父元素的...全部代码如上,可以看到设置了line-height为100%没有居中,这是为什么呢,因为这时候的%是相对于字体尺寸的?所以直接作用于没有绝对高度的元素是不行的。...一个负责居中,虽然感觉并不会这样用到,但是居中还是很灵验的~ 6.源码 https://github.com/JiaXinYi/ife-study/blob/master/height/height.html

    1.6K50

    Android Layout的layout_height等属性为什么不起作用

    layout_height等以android:layout_开头的属性设置都没有作用,这类问题以我们使用Adapter的作为数据源的时候作用居多,因为Adapter里有一个方法是getView,这个返回的VIew是一个从XML...temp.setLayoutParams(params); } } 可以看到,当root为null的时候是不会执行params = root.generateLayoutParams(attrs);这段代码的,这段代码就是把xml...ViewGroup有一些自定义控制布局的属性设置,就可以通过集成View.MarginParams来扩展布局配置,然后重写generateLayoutParams方法,这样系统框架就会自动使用该布局读取我们在xml...基于以上分析,我们在使用LayoutInflate的inflate方法的时候一定要保证root参数不能为null,其实这个root就是父View的意思,就是说你把xml转换为一个VIew的时候,该VIew...说到这个问题了,其实还有一些布局,他们的参数配置要满足一定的条件才会起作用,比如FrameLayout里的View,你要想它的leftMargin生效,必须指定它的layout_gravity为left

    1.3K30

    为什么你的RAG不起作用?失败的主要原因和解决方案

    RAG的现实 解释语义不协调是如何产生的 介绍如何判断和缓解语义不协调 总结一些额外的高ROI策略,使RAG更加接近生产质量 注:为简化问题我们将关注基于问答的文本示例,但核心思想可以推广到其他用例 为什么选用...专业人士理解的策略3因该更好,因为它将所有内容混合在一起,但表现不如策略4。 噪声(随机,无关文本):余弦相似性在0.04–0.23之间。...对于基于支持文档构建的Q&A系统,问题→问题的比较将实质性地提高性能,不是问题→支持文档。实际操作中,最简单的方法是 要求你的大模型(如ChatGPT)为每个文档生成示例问题,并让人类专家进行策划。...例如可以让你的排名成为一个线性组合, 排名 = (余弦相似性) + (权重) x (相关性评分) 使用AI作为工具,不是完整的解决方案 几十年来,软件工程实践演变为倾向于设计许多小组件,这些组件具有严格

    21010

    Navigation问题详解——Fragment创建新的实例

    之后,也在尝试使用Navigation,但是使用的过程当中遇到了问题: 每次进入下一个Fragment不管任务栈里是否存在该Fragment的实例,都会创建一个新的实例不会复用。...implementation "android.arch.navigation:navigation-ui-ktx:$nav_version" // use -ktx for Kotlin 2.这样我们在Fragment...navigate(R.id.action_oneFragment_to_twoFragment) 注意这里,引用的findNavController包为: import androidx.navigation.fragment.findNavController...之前有位同学在公共号给我留言,问下了Demo之后,为什么设置 popUpTo/popUpToInclusive不起作用,问题就在这里应该是action Id 代码我已经更新,欢迎star和下载。...但是,我们的问题依旧存在,每次点击的时候依然会创建一个新的Fragment,一个新的实例,只是我们在创建新的实例的时候,把之前的给清除了而已。 我会在下一篇文章介绍如何解决这个问题!

    1.9K20

    PHP代码审计笔记

    option=\'.*\';|', $c, $file); echo $file; 这里面有一个疑问,运行的结果如下 aaa\\\' $option='aaa\\\''; $option='aaa\\''; 为什么会吃掉一个字符串...反序列化问题 PHP Session 序列化及反序列化处理器设置使用不当会带来的安全隐患 http://www.91ri.org/15925.html http://www.vuln.cn/6413 PHP...serialize() 函数反序列处理的数组 当 session.auto_start=On 时: 因为该过程是发生在脚本代码执行前,所以在脚本中设定的包括序列化处理器在内的 session 相关配选项的设置是不起作用的...50709version()*/; 报错注入原理 UpdateXML(xml_target, xpath_expr, new_xml) updatexml函数有三个参数,作用是xml替换,把xml_target...00000select version()*/)),得到'5.5.42-log,作为第二个参数传入updatexml函数中,updatexml第二个参数为xml的匹配表达式,单引号为非法字符,因此报错

    1.2K40

    JavaWeb学习——4.XML

    前言 继续记录javaweb学过的东西 开始 1.xml的简介 1.什么是xml  XML:eXtensible Markup Language,可扩展标记性语言  和html一样,xml也是使用标签 ...标记性语言:html就是标记性语言  可扩展:html中每个标签是固定的,每个标签都有其特定的含义  但是xml中的标签是可以自己定义的 2.xml用途和介绍  html是用于显示数据,xml也可以显示数据...(但这不是xml的主要功能)  xml的主要功能是存储数据,传输数据  xml是W3C组织发布的技术  xml有两个版本:1.0,1.1,一般使用1.0版本,因为1.1版本不能向下兼容 3.xml的应用...2.xml的语法 1.xml文档声明  创建一个文件,后缀名为.xml  要写xml,第一步必须要有一个文档声明(写了文档声明之后,表示写xml文件的内容) ?...注意:PI指令对中文的标签元素是不起作用的 注意:PI指令对中文的标签元素是不起作用的 3.xml的约束 1.为什么需要约束  比如现在定义一个person的xml文件,只想要在这个文件中保存person

    72620

    React基础(4)-理清React的工作方式

    对于大型项目迭代开发,这种方式编写的代码会更容易的管理,因为React只是用作于视图UI层的渲染工作,我们关心的是渲染成什么样子,不需要关心如何实现渲染,怎么进行DOM操作 这就好比在业界里有这么一句话...DOM树是对HTML的抽象,vitrtual DOM就是对DOM树的抽象,虚拟DOM不会触及浏览器,虚拟DOM本质上就是javascript对象,还记得前面说过的JSX是React.createElement...的标签上(div,input,p,a等原生浏览器支持的标签),不能用在组件标签上。...也就是说, 这样的写法是不起作用的 如果想要做到这一点,在组件标签上监听事件起作用,也可以做到,就是结合第三方模块styled-components样式组件进行使用...元素上,若放在自定义的组件上时,是不起作用的,具体解决办法,可以引入第三方styled-components模块的,后续单独拿一篇幅来说也不为过的,涉及到的知识还是挺多的

    2.1K20

    React学习(四)-理清React的工作方式

    对于大型项目迭代开发,这种方式编写的代码会更容易的管理,因为React只是用作于视图UI层的渲染工作,我们关心的是渲染成什么样子,不需要关心如何实现渲染,怎么进行DOM操作 这就好比在业界里有这么一句话...DOM树是对HTML的抽象,vitrtual DOM就是对DOM树的抽象,虚拟DOM不会触及浏览器,虚拟DOM本质上就是javascript对象,还记得前面说过的JSX是React.createElement...的标签上(div,input,p,a等原生浏览器支持的标签),不能用在组件标签上。...也就是说, 这样的写法是不起作用的 如果想要在组件标签上监听事件起作用,也可以做到,就是结合第三方模块styled-components样式组件进行使用,是可以做到的...元素上,若放在自定义的组件上时,是不起作用的,具体解决办法,可以引入第三方styled-components模块的,后续单独拿一篇幅来说也不为过的,涉及到的知识还是挺多的 作者:川川,一个靠前排的90

    1.8K30

    今日头条屏幕适配方案终极版正式发布!前言方案对比AndroidAutoSize总结

    SmallestWidth 限定符适配方案 合理的分配资源文件,适配效果的差距应该也不大 SmallestWidth 限定符适配方案 主打的是稳定性,在运行过程中极少会出现安全隐患,适配范围也可控,不会产生其他未知的影响,...的升级版,但是它是我写的,关注一波呗 但 AndroidAutoSize 和 AndroidAutoLayout 的原理,却天差地别,比如 AndroidAutoLayout 只能使用 px 作为布局单位,...很多人有疑惑,为什么使用者只需要在 AndroidManifest.xml 中填写一下 meta-data 标签,其他什么都不做,AndroidAutoSize 就能自动运行,并在 App 启动时自动解析...的支持,这时 ExternalAdaptManager 对三方库的页面是不起作用的,只对自己项目中的页面起作用,除非三方库的页面也使用了副单位 (pt、in、mm) 进行布局 其实 副单位 之所以能彻底屏蔽修改...就能彻底屏蔽修改 density 所造成的对三方库页面、三方库控件以及系统控件的布局效果的影响 但这也同样意味着使用 副单位 就不能适配三方库的页面了,ExternalAdaptManager 也就对三方库的页面不起作用

    3.4K31

    ViewPager与Fragment那些事儿

    2.notifyDataSetChange方法在viewPager中不起作用的问题的解决方案。 3.通过修改FragmentPagerAdapter,避免Fragment被过度持有。...第二次搜索回包时,后台要求的顺序未必按照音乐,电影,部落来。经过重用之后,可能变成这样: ?...通过查看注释和调试,发现他是用来控制展示一个fragment之后,自动预加载两边fragment的数量,默认和最小值都为1。 问题来了,为什么不能为0?...因为之前看到微码上有人分享了一个在这种viewpager场景下懒加载fragment的代码,会想到为什么不在这个地方对组件进行微调,以达到每次都只加载一个fragment的效果?...目前还不清楚这里为什么有这样的设计,暂时也没有去动手对viewpager进行改造,使其支持每次只加载一个fragment,有兴趣的同学可以一起探讨一下。

    88180
    领券