如何从xml文件中获取元素
-
09-06-2019 - |
题
我从 Web 服务获取 XML 文件。现在我想从文件中获取这些元素之一。
我想我应该使用 XPath - 有什么好的入门参考吗?
解决方案
不是 VB 特定的,但试试这个: http://www.w3schools.com/xsl/xpath_intro.asp
其他提示
我刚刚恢复了我的 XPath 技能 - 这 Xslt 和 XPath 快速参考表 是一个非常有用的参考 - 它没有深入探讨,但它列出了可用的内容以及您可能想要搜索更多信息的内容。
之前链接的 w3schools 教程并不是那么好 - 需要很长时间才能涵盖很多内容 - 但它仍然值得阅读。
一种方法是仅使用 xslt 文件将所需信息提取到新的 xml 中,并使用此新的 xml 作为进一步处理的数据基础
如果我需要做一些 XPath,我只需调整这些示例之一。
- 子::节点() 选择上下文节点的所有子节点,无论其节点类型如何
- 属性::名称 选择上下文节点的名称属性
- 属性::* 选择上下文节点的所有属性
- 后代::para 选择上下文节点的 para 元素后代
- 祖先::div 选择全部 分区 上下文节点的祖先
- 祖先或自我::div 选择 分区 上下文节点的祖先,如果上下文节点是 div 元素,也是上下文节点
- 后代或自身::para 选择 帕拉 上下文节点的元素后代,如果上下文节点是 帕拉 元素,上下文节点也是如此
- 自我::段落 选择上下文节点(如果它是) 帕拉 元素,否则不选择任何内容
- 子::章节/后代::段落 选择 帕拉 上下文节点的章节元素子代的元素后代
- 子::*/子::para 选择全部 帕拉 上下文节点的孙子节点
- / 选择文档根(始终是文档元素的父级)
- /后代::para 选择所有 帕拉 与上下文节点位于同一文档中的元素
- /后代::olist/子::项目 选择所有具有 奥利斯特 父节点和与上下文节点位于同一文档中的节点
- 子::para[位置()=1] 选择第一个 帕拉 上下文节点的子节点
- 子::para[位置()=最后()] 选择最后一个 帕拉 上下文节点的子节点
- 子::para[position()=last()-1] 选择最后一个 帕拉 上下文节点的子节点
- 子::para[位置()>1] 选择所有 帕拉 除上下文节点的第一个子节点之外的上下文节点的子节点
- 以下兄弟姐妹::章节[position()=1] 选择下一个 章节 上下文节点的兄弟节点
- 前同级::章节[position()=1] 选择上一个 章节 上下文节点的兄弟节点
- /后代::图[位置()=42] 选择文档中的第四十二个图形元素
- /child::doc/child::章节[position()=5]/child::section[position()=2] 选择第五部分的第二部分 章节 的 文档 文档元素
- 子::para[属性::类型=“警告”] 选择全部 帕拉 具有带值的类型属性的上下文节点的子节点 警告
- child::para[属性::type='警告'][position()=5] 选择第五个 帕拉 具有值警告的类型属性的上下文节点的子节点
- child::para[position()=5][attribute::type="warning"] 选择第五个 帕拉 上下文节点的子节点(如果该子节点具有带值的类型属性) 警告
- 子::章节[子::标题='简介'] 选择上下文节点的章节子级,该子级具有一个或多个标题子级且字符串值等于“简介”
- 子::章节[子::标题] 选择 章节 具有一个或多个标题子级的上下文节点的子级
- child::*[self::章节或 self::附录] 选择 章节 和 附录 上下文节点的子节点
- child::*[self::章节或 self::appendix][position()=last()] 选择最后一个 章节 或者 附录 上下文节点的子节点
可以找到深入的文档 这里. 。这些示例也取自那里。
不隶属于 StackOverflow