如何从XML文件中获取元素

时间:2020-03-05 18:58:28  来源:igfitidea点击:

我从Web服务获取XML文件。现在,我要从文件中获取这些元素之一。

我想我应该使用XPath入门吗?

解决方案

回答

不特定于VB,但请尝试以下操作:http://www.w3schools.com/xsl/xpath_intro.asp

回答

一种方法是仅将带有xslt文件的所需信息提取到新的xml中,并使用此新的xml作为数据基础进行进一步处理

回答

我刚刚恢复了我的XPath技能,这个Xslt和XPath快速参考表是非常有用的参考,虽然没有深入探讨,但确实列出了可用的内容以及我们可能想搜索的更多信息。

之前链接的w3schools教程并不是很好,它需要很长时间才能涵盖很多内容,但是仍然值得一读。

回答

如果需要执行一些XPath,则只需调整以下示例之一。

  • child :: node()选择上下文节点的所有子节点,无论其节点类型如何
  • attribute :: name选择上下文节点的名称属性
  • attribute :: *选择上下文节点的所有属性
  • 后裔:: para选择上下文节点的para元素后裔
  • ancestor :: div选择上下文节点的所有div祖先
  • ancestor-or-self :: div选择上下文节点的div祖先,如果上下文节点是div元素,则还选择上下文节点
  • 后裔或者自我:: para选择上下文节点的para元素后代,如果上下文节点是para元素,则也选择上下文节点
  • self :: para如果是para元素,则选择上下文节点,否则不选择任何内容
  • child :: chapter / descendant :: para选择上下文节点的Chapter元素子元素的para元素后代
  • child :: * / child :: para选择上下文节点的所有para孙子代
  • /选择文档根(始终是文档元素的父级)
  • / descendant :: para选择同一文档中的所有para元素作为上下文节点
  • / descendant :: olist / child :: item选择具有olist父级且与上下文节点位于同一文档中的所有item元素
  • child :: para [position()= 1]选择上下文节点的第一个para子节点
  • child :: para [position()= last()]选择上下文节点的最后一个para child
  • child :: para [position()= last()-1]选择上下文节点的最后一个para子节点
  • child :: para [position()> 1]选择上下文节点的所有para子节点,而不是context节点的第一个para子节点
  • following-sibling :: chapter [position()= 1]选择上下文节点的下一章同级
  • previous-sibling :: chapter [position()= 1]选择上下文节点的上一章节同级
  • / descendant :: figure [position()= 42]选择文档中的四十二个图形元素
  • / child :: doc / child :: chapter [position()= 5] / child :: section [position()= 2]选择doc文档元素第五章的第二部分
  • child :: para [attribute :: type =" warning"]选择上下文节点的所有具有type属性并带有警告值的para子级
  • child :: para [attribute :: type ='warning'] [position()= 5]选择具有类型属性并带有警告值的上下文节点的第五个para child
  • child :: para [position()= 5] [attribute :: type =" warning"]如果上下文节点的类型属性具有警告值,则选择该上下文节点的第五个para child
  • child :: chapter [child :: title ='Introduction']选择上下文节点中具有一个或者多个标题子项且字符串值等于Introduction的章子项
  • child :: chapter [child :: title]选择上下文节点中具有一个或者多个标题子代的章子代
  • child :: * [self ::章或者self :: appendix]选择上下文节点的章节和附录子级
  • child :: * [self ::章或者self :: appendix] [position()= last()]选择上下文节点的最后一章或者附录子元素

在这里可以找到详细的文档。这些例子也是从那里得到的。