使用xpath查询xml文档时,实际输入的XPATH查询在哪里?

时间:2012-01-07 17:26:02

标签: xml xpath

我是xml数据库的新手,并阅读了很多关于查询xml文件的教程。然而,这些教程中没有一个告诉您实际输入查询信息的位置。例如,w3schools详细介绍了如何编写查询路径表达式,但没有关于在哪里输入东西!!

(这些教程网站没有说明实际输入查询的位置。他们只是继续谈论这些xml路径查询,显示无数的例子,但从不说你在哪里实际上输入了查询?我不知道不知道这些人如何编写所有这些教程并错过了新手需要知道的最明显的事情!谢谢。)

2 个答案:

答案 0 :(得分:2)

XPath不是一种独立的语言 - 它总是由主机编程语言托管 - 例如C#,Java,VB,PHP等......

用特定PL编写的程序需要遵循评估PL中XPath表达式的规则。通常,有一个面向XPath的API,它提供了一组对象和函数。通常,选择节点的XPath表达式作为参数传递给一个函数,而其评估结果不是一组节点(例如字符串或数字)的XPath表达式作为参数传递给另一个函数。

例如,在C#中,可以使用SelectNodes()SelectSingleNode()XmlDocument的{​​{1}}或XmlNode方法来选择一组节点或单个节点 - 以及XPathDocument Evaluate()方法来评估任何类型的XPath表达式(不仅仅是选择节点的表达式)。

在XPath的主机中,有两个明显不同:XSLT和XQuery完全集成XPath - 它们本身使用XPath - 它是语言的一部分,因此不需要显式的XPath评估函数用这两种语言来称呼。开发人员不必因为必须在两个不同的世界之间切换而分散注意力:PL世界和XPath世界。

XPath是XSLT / XQuery世界中自然集成的部分

根据我的经验,XSLT和/或XQuery是使用XPath最方便的语言。

答案 1 :(得分:0)

您可以通过XPath函数以您编写的任何语言来操作XML文件。例如在PHP中,您将使用PHPDom加载xml文件,然后使用DOMXPath来执行查询。

告诉你“在哪里写”xpath是毫无意义的。 XPath不是一种编程语言。它是用于在XML文件中查找数据的语法定义。它没有任何i / o功能,它只是告诉XML库要查找什么。如何访问该xml库是在XPath的perview之外。