- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
新手问题在这里:
给定以下 XML 摘录:
<root>
<element>
<child1>a</child1><child2>b</child2><child3>c</child3>
</element>
</root>
当我在 child3
上下文中时,我可以使用 preceding-sibling::*
获取 child2
节点。好的。
在以下 XML 摘录中:
<root>
<element child1="a" child2="b" child3="c">
</element>
</root>
当我在 child3
上下文中时,XPath 1.0 中没有轴来获取 child2
属性节点是对的吗?我想我需要类似 preceding-sibling-attribute::
的东西,但它不可用。
作为一个附带问题,这在 XPath 2 中是否可行?
最佳答案
的确,从一个属性到另一个属性没有单一轴,但当然你可以通过链接轴到达那里。
属性不被视为 sibling ,因为 they are not considered 'children' of the parent element , 在 XPath 使用的数据模型中。这就是为什么 preceding-sibling::
不起作用的原因之一。这也意味着诸如 child1
、child2
等属性名称具有误导性,因为属性不是“子项”。
preceding-sibling::
不起作用的另一个原因是 order of attributes给定元素的未定义(依赖于实现)。属性必须在给定的序列化中以某种顺序列出(例如在文件中),但是该文件可以被解析并以不同的顺序再次输出属性,并且它仍然会被视为来自 XML 信息模型点的相同文档观点。因此,XML 中不存在诸如“previous”或“preceding”属性之类的东西。
要从 child3
属性的上下文中获取 child2
属性的值,您可以使用其中之一,具体取决于您如何知道您想要哪个属性。 .
../@child2
“父元素的名为child2
的属性”
../@*[name() != name(current())]
“父元素的其他属性(不是这个)”
你甚至可以试试
../@*[2]
但是结果通常是不可预测的,因为属性的顺序是未定义的。
如果属性名称包含索引组件 (1, 2, 3),如您的示例所示,您可以将 name(current())
中的数字替换为较小的数字。
要回答您的附带问题,这取决于您的要求是如何定义的。如果要求是“选择前一个属性”,那么不,XPath 2 中也没有定义该概念。
关于XPath 1.0 属性轴 : no chance?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13647837/
这个问题已经有答案了: changing probability of getting a random number (7 个回答) generating random number with a
public class Spell { // chance = (0, 100> private int chance; public void execute() {
我需要根据用户之前完成的工作计算出的分数(“机会”数量)为用户分配工作。这是我的用户表: user chances Anna 6 Barry 4 Steve 3 Jackson 3
谁能告诉我我的代码有什么问题? 玩家将掷两个骰子。在第一次抛出如果两者之和骰子等于 7 或 11,玩家获胜。如果总和等于 2、3 或 12玩家输了。任何其他金额,游戏将继续,并且总和将成为玩家的“积分
我尝试在 Python IDLE 上执行以下代码 from __future__ import braces 我收到以下错误: SyntaxError: not a chance 上面的错误是什么意思
新手问题在这里: 给定以下 XML 摘录: abc 当我在 child3 上下文中时,我可以使用 preceding-sibling::* 获取 child2 节点。好的。 在
到底什么是第一次机会异常?它是如何以及在哪里起源于 .NET 程序的?为什么它被称为这个奇特的名字(我们谈论的是什么“机会”)? 最佳答案 这是一个调试概念。基本上,异常首先被抛出到调试器,然后到实际
这个问题在这里已经有了答案: 关闭 10 年前。 Possible Duplicate: Avoiding first chance exception messages when the exce
我一直在学习 c#,我想开始一个美式足球模拟器的实验性控制台应用程序项目。这个项目有机会是至关重要的。 Example: there's a 20% chance the kicker will su
例如,在消息中: First-chance exception at 0x757bd36f in foo.exe: Microsoft C++ exception: _ASExceptionInfo
突然我的代码开始抛出异常 VideoPlayer.exe 中 0x7731c41f 处的第一次机会异常:Microsoft C++ 异常:内存位置 0x0018f5dc 处的 GenICam::Run
我有以下示例 html 文件,其中包含 Zap Chance 字体。 @font-face {
我写了一个简单的程序,它将数据从一个模块的二维数组发送到另一个模块,但是它似乎不起作用,我也不确定为什么。这是我的代码: 服务器.h #include #include "stdafx.h" usi
我的 Windows 应用程序使用了以下用于打开文件的 C++/MFC 代码: CFileDialog fd(TRUE, NULL, NULL, OFN_HIDEREADONLY | OFN_OVER
我使用 windbg 调试故障转储,在 windbg 的以下输出中,您可以看到“first/second chance not available”,为什么 first/second chance 不
我在 C# 代码中需要一些关于 percent chance 的帮助。假设我有一个从 1 到 100 的 for 循环,在那个循环中我有一个“if”代码,我想执行 70% 次(随机)。我将如何实现这一
我完成了我的小应用程序,我正在努力确保我没有内存泄漏和错误。查看我的输出后,我注意到我的一个函数抛出了 First-Chance 异常,但该函数运行良好并且没有崩溃。 该函数调用 CLR C++ DL
很奇怪,我一直认为我们应该总是将 high chance 子句放在嵌套 if-els 的前面,直到今天。 简要设置: 数组 Zoo[] 包含 5 类的 10,000 个对象,基于权重,例如4,3,2,
假设有一个功能分支'my-feature'。在我开发该功能时,有人将它从“我的功能” merge 到“主控”中。因为这是一个快进 merge ,所以没有提交。我所做的一些更改还没有准备好用于 mast
我假设网卡处理 TCP 确认。但在确认之后,直到数据包到达应用层,是否有任何机会,数据包因任何原因被丢弃。 最佳答案 I assume that network card handles the tc
我是一名优秀的程序员,十分优秀!