草庐IT

XPath_Query

全部标签

xml - XPath 选择

我在编写XPath表达式来选择包含某些元素的节点时遇到问题,同时排除了我不感兴趣的该元素的sibling。我怀疑这不能单独使用XPath完成,我需要使用XSLT。使用这个源文件val1val2val3val4val5val6val7val8val9val10val11我想生成这个结果val4val11这可以用XPath完成吗?如果不是,我应该使用什么XSLT转换? 最佳答案 XPath用于选择特定的节点,它不会给你一个你想要的树结构。顶多可以从中得到一个节点列表,从节点列表中推导出树结构。如果您真正想要的只是选择有趣的属性,您可以试

xml - 用于根据当前节点的内容选择父节点的 XPath?

我有一个XML文档,其中的部分类似于以下内容:100202110122211022223在某些时候,我让XSLfor-each语句循环遍历每个版本,然后依次遍历每个文件列表。当我遍历每个文件时,我想获取有关哪些其他版本不包含相同文件ID的信息。(因此,例如,当我在版本100中迭代文件20时,我想获得指向版本101和102的指针,但是当我在同一包中迭代文件21时,我只想要一个指向版本102的指针.)有没有办法用XPath做到这一点?我想出的最接近的事情是:../../../release[not(file_list/file/id=./id)]...这当然会失败,因为在方括号内,'./'

xml - 具有基于变量的小数位数的 XPath 格式数字?

我有一个XML文档,其中应报告特定xs:decimal的小数位数保存在同级节点中。我目前正在努力寻找一种简单的方法来通过format-number函数输出它。我可以使用其他一些函数构建一个图片字符串,但是对于本应(至少在我看来)相对简单和常见的任务来说,这似乎过于冗长了。例如我目前正在做的是这样的:有没有更好的办法? 最佳答案 很好的问题!这通常意味着,我不知道答案,但我希望其他人知道,因为这对我来说也是一种痛苦。无论如何,我做了一些搜索,我认为round-half-to-even函数可能会成功(http://www.xqueryf

xml - 这个 XPath 有什么问题?

我有这个XML:我有这个LINQ语句:intcount=doc.XPathSelectElements("//category").Elements().Count();我想要的是所有“类别”元素,基本上,扁平化为一个数组,然后我可以foreach。问题是返回的计数值(以及,如果被取消,返回的数组)显示最顶层的类别元素没有被返回。在本例中,我返回了6个“类别”元素,而不是7个。我使用的是从[thispage]学到的XPath(http://www.developer.com/xml/article.php/10929_3383961_1/NET-and-XML-XPath-Querie

xml - 这对 xpath 来说是不可能的吗?

是否可以使用xpath以某种方式转换结果,就像使用SQL一样?鉴于以下情况:例如,如果我想获取所有b节点,但我不希望z属性成为结果的一部分。或者我正在考虑的另一件事是接收所有y节点乘以一个类似/a/b[(@y*2)]的因子,这似乎是不可能的,至少我不知道如何写出来。 最佳答案 正如@svick的回答中所指出的,XPath表达式可以从XML文档中选择一组节点,但它不能更改XML文档或创建新文档。这是一个生成新XML文档的XSLT转换,其中省略了z属性并将y属性乘以2。当此转换应用于提供的XML文档时(更正为格式正确):产生了想要的、正

xml - XPath 获取父元素

我有一个与XPath相关的问题。我有一个这样的XML条目列表:EntryName456200EntryName123200问题是:如何获取所有具有值为456的FieldParentNavigationEntry的导航条目。我试过了//NavigationEntry//RelationEntry[ParentNavigationEntry="456"]但这只给了我RelationEntry字段,但我需要NavigationEntry字段。是否可以通过单个XPath查询来解决这个问题? 最佳答案 Thequestionis:howdoI

java - 删除前缀时 XPath 返回 null

我在Eclipse下使用Java中的XPath。我正在编写一个soapWeb服务,XML使用前缀和命名空间,我想删除前缀并只保留命名空间,因为我更喜欢看起来更具可读性的XML文档。当我从XML定义文件中删除前缀并尝试使用XPath查询XML时,我开始为XML中的每个节点获取空值!我的问题是,如果我想使用XPath,是否必须使用前缀?仅仅命名空间还不够吗?demox这就是我的XML的启动方式,当我使用像XPath.selectSingleNode()这样的XPath查询它时,对于其中的每个节点,我总是从XPath接收到null。StringmyExpression="myrequest/

xml - 在 XML 中使用 Xml 解析器和 Xpath 有什么区别

我想知道在XML中使用XmlParser和Xpath有什么区别。因为,两者都用于获取xml文档中的任何信息。这就是为什么我问这个问题... 最佳答案 XML解析器将XML文档转换为可以通过编程方式访问的数据结构(或SAX事件流)。XPath是一种查询语言,用于获取基于XML的数据结构(或SAX事件流)并找到您想要的部分。两者的区别很像HTML解析器和CSS选择器引擎,或者汽车和路线图。它们是两个完全不同的东西,可以一起使用。 关于xml-在XML中使用Xml解析器和Xpath有什么区别,

xml - 如何用XPath获取条件对应的TOP N元素

我有这样一个XML我想用一个xpath(我在c#上下文中而不是xslt模板中)获取值为4的第2个元素,即与/root/el[position()我会得到0个元素,因为position()基于父节点,而不是当前子集。我可以在c#中执行此操作,但当我只需要20个节点时加载1200个节点似乎没用。谢谢 最佳答案 以下在XSLT脚本中对我有用;结果是id的3和4,所以XPATH/root/el[@value=4][position()应该适合你。 关于xml-如何用XPath获取条件对应的TOP

xml - XPath/XSLT : how to select all elements that satisfy a condition involving another set of elements

我有一个类似于以下内容的XML文档:...datadata...如何选择所有具有text的元素属性不等于text任何的属性元素?我正在使用XPath1.0。我在考虑类似tt/b[not(tt/a[@text=xxx::@text])]的事情,其中xxx应引用tt/b正在检查的元素。我不知Prop体怎么做。 最佳答案 /tt/b[@text!=../a/@text]之类的答案是错误的,并且选择了错误的节点集::datadata正如我们所见,第二个选定节点的text属性是2并且是一个a元素,其text属性为2。这是一个正确的XPath表