如何从xml文件中获取元素

时间:2008-09-17 10:00:29

标签: vb.net web-services xpath reference

我从Web服务获取XML文件。现在我想从文件中获取其中一个元素。

我想我应该使用XPath - 任何好的入门参考?

4 个答案:

答案 0 :(得分:2)

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

之前联系的w3schools教程并不是那么好 - 需要很长时间才能涵盖很多方面 - 但它仍然值得一读。

答案 1 :(得分:1)

不是特定于VB的,但请尝试:http://www.w3schools.com/xsl/xpath_intro.asp

答案 2 :(得分:0)

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

答案 3 :(得分:0)

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

  • child :: node()选择上下文节点的所有子节点,无论节点类型如何
  • attribute :: name 选择上下文节点的名称属性
  • attribute :: * 选择上下文节点的所有属性
  • descendant :: para 选择上下文节点
  • 的para元素后代
  • ancestor :: div 选择上下文节点的所有 div 祖先
  • ancestor-or-self :: div 选择上下文节点的 div 祖先,如果上下文节点是div元素,则选择上下文节点< / LI>
  • descendant-or-self :: para 选择上下文节点的 para 元素后代,如果上下文节点是 para 元素,上下文节点
  • self :: para 选择上下文节点(如果它是 para 元素,否则不选择任何内容
  • child :: chapter / descendant :: para 选择上下文节点的子元素子元素的 para 元素后代
  • child :: * / child :: para 选择上下文节点的所有 para 孙子
  • / 选择文档根目录(始终是文档元素的父目录)
  • / descendant :: para 选择与上下文节点相同的文档中的所有 para 元素
  • / descendant :: olist / child :: item 选择所有具有 olist 父级且与上下文节点位于同一文档中的项目元素
  • child :: para [position()= 1] 选择上下文节点的第一个 para 子项
  • child :: para [position()= last()] 选择上下文节点的最后一个 para 子项
  • child :: para [position()= last() - 1] 选择上下文节点的最后一个 para 子项
  • child :: para [position()&gt; 1] 选择除了上下文节点的第一个子节点之外的上下文节点的所有 para 子节点
  • follow-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] 选择具有a的上下文节点的第五个 para 子节点带值警告的type属性
  • child :: para [position()= 5] [attribute :: type =“warning”] 选择上下文节点的第五个 para 子节点具有值警告
  • 的type属性
  • child :: chapter [child :: title ='Introduction'] 选择具有一个或多个标题子节点的上下文节点的子节点,其字符串值等于引言
  • child :: chapter [child :: title] 选择具有一个或多个标题子项的上下文节点的章节子项
  • child :: * [self :: chapter或self :: appendix] 选择上下文节点的章节附录子项< / LI>
  • child :: * [self :: chapter或self :: appendix] [position()= last()] 选择最后附录上下文节点的子项

可以找到深入的文档here。这些例子也来自那里。