草庐IT

XPath_string

全部标签

xml - 如果 XPATH 中不存在节点,如何返回常量?

我有一个问题,请考虑以下XML:我必须使用SSIS。我想在所有订单条目的每个循环中将所有数据获取到SSIS变量。到目前为止,我可以在SSIS的控制流中使用ForeachLoop获取数据,具体如下:EnumerationType:ElementCollectionOuterXPathString://*[name()='ORDER']InnerElementType:NodeTextInnerXPathString:@*[name()='EngineID']|@*[name()='OrderID']|child::node()/@*[name()='InstID']|child::nod

Java - 子节点的 dom4j XPath

我正在使用[dom4j]1和[XPath]2以便遍历XML。假设我手头有一个Node,它有子节点,每个子节点都有相同的标签名称。例如(引用b节点):......我尝试使用selectNodes("//b")但它返回了document中的所有节点,它们的开放标记是b.如何只遍历特定节点的子节点,其中所有子节点都具有相同的标签名称(例如b)。 最佳答案 selectNodes(".//b")//-----------^.是XPath中的当前节点。请注意,//是/descendant-or-self::node()/的缩写。这意味着它还将

xml - XPath 2.0 - 选择 2 个元素之间的所有节点

我有以下XML文件:headline1foobar10052002sometextABCheadline2loremipsum10052002anothersourceDEF现在我想返回在头节点之后出现的每篇文章的所有节点在门户节点之前。因此,我正在研究XPath2节点比较(>运算符)。到目前为止,我得到的是以下内容,它返回空值:关于如何修复该xpath查询的任何想法? 最佳答案 使用:/*/*/node()[.>>../headand../portal>>.]这是一个完整的转换:>../headand../portal>>.]"/

xml - 不区分大小写的搜索 - xpath

我正在尝试使用以下XPath表达式对我的XML文档进行不区分大小写的搜索。显然,我理解错了,因为结果不同。希望这里有人能指出我的错误吗?我正在尝试获取下所有Obj元素的计数在哪里值(value)是主要目标。为了获得计数,我使用了以下非常有效的表达式。表达式-不区分大小写:返回31个节点。("count(//TaggedPDF-doc//Part//Sect//Sect//Sect[contains(Header,\"Primaryobjectives\")]//OBJ)");但我想让“主要目标”不区分大小写。所以,我试图为此使用翻译。表达式-添加翻译以使“主要目标”不区分大小写。返回0

xml - XPATH:preceding::and ancestor::之间的区别?

XPath2.0中的preceding::和ancestor::有什么区别? 最佳答案 preceding::轴包含文档中之前该节点的所有节点,不包括该节点的祖先,它们位于ancestor::轴。例如,在本文档中:e的“前面”节点将是b和c,但不是a和d因为他们是e的祖先。有道理吗?(source) 关于xml-XPATH:preceding::andancestor::之间的区别?,我们在StackOverflow上找到一个类似的问题: https://st

c# - LINQ for string StartsWith List<string> 中的某个值

我正在使用LINQ解析XDocument。我想检查XElements之一,键为“BusinessStructure”以我的Listfilters中的字符串之一开始.换句话说,假设我有:x.Element("BusinessStructure").Value="testing123"和varfilters=newList{"test","hello"}使用LINQ,我该如何做......wherex.Element("BusinessStructure").Value.StartsWith(filters[0])selectnew...但是我不想获取过滤器列表的第一个索引,而是想“循环”

html - XPath:在任意数量的嵌套元素中匹配文本的方法?

一个XPath表达式是否可以匹配以下所有元素使用元素中的文本,在本例中为"Link"?示例:LinkLinkLinkLink 最佳答案 这个简单的XPath表达式,//a[contains(.,'Link')]将选择a你所有例子的元素因为.代表当前节点(a),contains()将检查stringvalue的a查看它是否包含'Link'.a的字符串值已经方便地从任何后代元素中抽象出来。这个更简单的XPath表达式,//a[.='Link']还将选择a所有示例中的元素。如果a的字符串值,则使用它是合适的将完全等于,而不仅仅是包含"Li

xml - 为什么XPath构造不干净?为什么谓词不需要text()?

假设我有:CE然后我可以输出b元素(包括标记),其中://B会回来的C但是为什么谓词中不需要text()呢?以下两行给出相同的输出:/A[B='C']/D/A[B/text()='C']/D如果xpath是干净构建的,我希望它是(或者是某种其他元素结构):/A[B=C>]/D还有:/A[B/text()='C']/D有人能告诉我为什么输出需要text()而谓词不需要它吗? 最佳答案 我认为这是一个合理而自然的问题。我宁愿看到人们问这样的概念性问题,理解xpath是如何工作的,而不是满足于对xpath的肤浅理解,最后问一些肤浅的问题,

xml - 使用 XPath 选择特定表

我有一个XHTML文档,我想选择其中唯一带有class="index"的表格。如果我理解正确的话,后代轴将选择所有直接和间接从当前节点下降的节点,所以这就是我得到的。//descendant::table[@class="index"]用xmlstarlet测试时它似乎没有工作。是我的工具坏了,还是XPath表达式有误? 最佳答案 我认为//table[@class="index"]是你想要的 关于xml-使用XPath选择特定表,我们在StackOverflow上找到一个类似的问题:

sql - 如何在 SQL Server 中创建参数化 XPath 查询?

我正在尝试在SQLServer中编写一个参数化查询,该查询使用参数值作为XPath的一部分,但它似乎没有按照我期望的方式工作。这是我的示例:createtable##example(xmltestxml)declare@LanguagePathvarchar(75)set@LanguagePath='(/languages/language[@id="en-US"])[1]'insertinto##examplevalues('cc')insertinto##examplevalues('bb')insertinto##examplevalues('aa')--Thisisaworki