草庐IT

xpath-3.0

全部标签

xml - 使用 XQuery/XPath 获取祖先节点的逆序

我正在寻找一个很好的解决方案(简短的表达式,最佳性能)来使用BaseX上的XQuery3.1获取所有祖先节点的反向顺序。现在我正在使用这段代码,为给定的XML示例获取dirA/dirA3/dirA31:xqueryversion"3.1"encoding"utf-8";declarevariable$files:=;let$path:=trace(string-join($files//file[@name='fileA31_F2']/ancestor::dir/@name,'/'))return()此代码用于获取相反的顺序dirA31/dirA3/dirA:let$reversepa

php - xpath查询到xpath查询结果

例如我们有这个xml:helloworldanotherhelloworld通过Xpath查询我们可以找到所有“B”标签。但是接下来我们需要在每个找到的“B”标签中找到所有“C”标签。我写了这段代码:$dom=newDOMDocument();$dom->loadXML($xml);$xpath=newDOMXPath($dom);$btags=$xpath->query("//b");foreach($btagsas$b){$ctags=$xpath->query("/b/c",$b);foreach($ctagsas$c){echo$c->nodeValue;}}但它不起作用。可以

.net - xPath 与 DOM API,哪个具有更好的性能

好吧,假设我正在从事一个有很多人同时在线的项目,我需要向他们提供来自一些XML文件的数据。当涉及到性能问题时,最好的方法是什么?xPath或DOM之间是否存在任何真正的区别,或者我不应该在意并继续使用我最喜欢的那个?此外,使用RegEx解析xml或xhtml文件有什么问题? 最佳答案 如果您对性能感兴趣,那么可能会有比DOM执行得更快的树模型(例如,如果您在Java世界,XOM)并且还提供更好的可用性。XPath是一种高级语言,DOMAPI的级别要低得多。因此,主要区别在于程序员的工作效率、易维护性等。至于性能,高级语言通常比顶级程

c# - 在 C# 中使用 XPath 从 XML 中获取所有节点值

我有下面的XML:IBE-SkywardsNormalSKYRL_MBDMilesBreakdownltSR_MB.TextViewMilesBreakdownltSR_HMB.TextHideMilesBreakdownSKYRL_MBD_LKMilesBreakdownEnglish现在我想用C#编写一个方法,将此XML作为输入并返回列表中的所有“键”和“值”数据。请提出建议。 最佳答案 首先,声明列表以保留值:usingSystem.Collections.Generic;ListkeysList=newList();List

xml - 获取没有特定祖先 xml xpath 的节点

我想要xpath,它获取没有祖先的节点,它是特定节点的第一个后代。假设我们有这样的xml文档:ThisnodenotthisnotthisThisnodenotthisThisnodeThisnodeThisnodeThisnode我想选择文档中所有没有作为其祖先节点的b节点//a/c/a[1]。 最佳答案 Iwouldliketoselectallbnodesindocumentthatdon'thaveastheirancestornode//a/c/a[1]使用这个XPath表达式://b[not(ancestor::a[pa

xml - 如何在 XPath/XQuery 中获取所有后代?

我正在尝试浏览文档以了解其结构。该文档正在提供给我,因此我无法访问原始文档,但我可以对服务器进行查询。我相信它是无模式的。我正在通过属于MarkLogic一部分的CQWeb应用程序访问文档。我基本上希望得到一棵完全填充的树还给我。这看起来真的很容易,但尚未证明是这样。我查看了W3C和其他几个网站,但似乎没有任何效果。提前致谢吉多 最佳答案 也许文档太大而无法返回-如果您正在使用MarkLogic,也许您正在尝试查询包含数千或数百万个子文档的“森林”?了解文档结构而不尝试返回所有文档的一个好方法是使用连续的XPath查询,为您提供元素

python - Element Tree对xpath的限制

我使用ElementTree有一段时间了,我喜欢它,因为它的简单性但是我怀疑它对x路径的实现这是XML文件python代码importxml.etree.ElementTreeasETtree=ET.parse('test.xml')root=tree.getroot()root.findall("b[@name='b2'andc]")程序显示错误:invalidpredicate但是如果我使用root.findall("b[@name='b2']")orroot.findall("b[c]")有效, 最佳答案 ElementTre

sql-server - Xpath 为有效的 Xpath 表达式返回 NULL

我正在使用一个相当简单的Xpath查询(如下)来查询一个SQLServer2008数据库列,其值都遵循示例的形式(如下)。即使example属性是为我查询的每一行定义。我已经尝试在我的Xquery表达式中声明xsd和xsi命名空间,并从多个不同的属性名称中进行选择,但都没有任何效果。我错过了什么?查询:selectColumnName.value('(/RootNode/@example)[1]','nvarchar(15)')[Result]fromTableNameXML示例节点(实际的XML包含更多我已省略的属性):true尝试使用命名空间进行查询,结果相同:selectColu

php - 将两个 Xpath 组合成一个循环?

我正在使用xpath从文档中获取信息,唯一的问题是我无法将它们组合成1个for循环以便信息在页面上正确显示。我的代码是:preserveWhiteSpace=FALSE;$doc->load('http://mdoerrdev.com/xml/updates-mits.xml');$xpath=newDOMXPath($doc);$xpath->registerNamespace('MITS',"http://www.mitsproject.org/namespace");$unitName=$xpath->evaluate("//ILS_Unit[@FloorplanID='5505

xml - 如何捕获 XQuery 3.0 中的错误?

我正在阅读W3CRecommendationforXQuery3.0.这是我尝试做的:try{3div0}catcherr:XPTY0004{'typingerror'}catch*{$err:code||' '||$err:description||' '||$err:value||' '||$err:module||' '||$err:line-number||' '||$err:additional}尝试保存文件时,AltovaXMLSpy给了我一个错误:未定义的命名空间前缀“err”。我应该如何首先定义err以使其工作?