-1

我从 Web 服务获得一个 XML 文件。现在我想从文件中取出这些元素之一。

我想我应该使用 XPath - 有什么好的入门参考吗?

4

4 回答 4

2

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

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

于 2008-09-17T10:12:37.933 回答
1

不是 VB 特定的,但试试这个:http ://www.w3schools.com/xsl/xpath_intro.asp

于 2008-09-17T10:01:24.140 回答
0

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

于 2008-09-17T10:02:35.510 回答
0

如果我需要做一些 XPath,我只需调整其中一个示例。

  • child::node()选择上下文节点的所有子节点,无论它们的节点类型如何
  • attribute::name选择上下文节点的名称属性
  • attribute::*选择上下文节点的所有属性
  • descendant::para选择上下文节点的 para 元素后代
  • 祖先::div选择上下文节点的所有div祖先
  • ancest-or-self::div选择上下文节点的div祖先,如果上下文节点是 div 元素,则上下文节点也是如此
  • descendant-or-self::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::para[position()=last()-1]选择上下文节点的最后一个para子节点
  • child::para[position()>1]选择上下文节点的所有para子节点,除了上下文节点的第一个 para 子节点
  • following-sibling::chapter[position()=1]选择上下文节点的下一个章节兄弟
  • previous -sibling::chapter[position()=1]选择上下文节点的上一个章节兄弟
  • /descendant::figure[position()=42]选择文档中第 40 秒的图形元素
  • /child::doc/child::chapter[position()=5]/child::section[position()=2]选择doc文档元素第五的第二节
  • child::para[attribute::type="warning"]选择上下文节点的所有para子节点,它们的 type 属性带有值warning
  • child::para[attribute::type='warning'][position()=5]选择上下文节点的第五个para子节点,该节点的 type 属性值为 warning
  • child::para[position()=5][attribute::type="warning"]选择上下文节点的第五个para子节点,如果该子节点的 type 属性具有值warning
  • child::chapter[child::title='Introduction']选择具有一个或多个标题子项且字符串值等于 Introduction 的上下文节点的章节子项
  • child::chapter[child::title]选择具有一个或多个标题子项的上下文节点的章节子项
  • child::*[self::chapter or self::appendix]选择上下文节点的章节附录子节点
  • child::*[self::chapter or self::appendix][position()=last()]选择上下文节点的最后一个章节附录子节点

可以在此处找到深入的文档。这些示例也取自那里。

于 2008-09-17T12:07:02.963 回答