Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
对XML文档使用选择器API_Xml_Xpath_Selectors Api - Fatal编程技术网

对XML文档使用选择器API

对XML文档使用选择器API,xml,xpath,selectors-api,Xml,Xpath,Selectors Api,简短问题:选择器API是否适合处理XML文档 带“我为什么要问”的较长问题… 我正在制作一些旧代码,这些代码利用客户端生成的XML和XPath,在IE(10+)以及IE7(以及Chrome、Firefox等)的更高版本中,可以跨浏览器使用 现在IE中大约有XPath支持,而且它似乎不再受到关注(没有evaluate(),没有SelectNodes())。据称,但一些测试似乎暗示,在IE10中启用ActiveX过滤时,这是不可靠的 我使用了非常好的xpath,但是我遇到了一些xpath形式的问题。

简短问题:选择器API是否适合处理XML文档

带“我为什么要问”的较长问题…
我正在制作一些旧代码,这些代码利用客户端生成的XML和XPath,在IE(10+)以及IE7(以及Chrome、Firefox等)的更高版本中,可以跨浏览器使用

现在IE中大约有XPath支持,而且它似乎不再受到关注(没有
evaluate()
,没有
SelectNodes()
)。据称,但一些测试似乎暗示,在IE10中启用ActiveX过滤时,这是不可靠的

我使用了非常好的xpath,但是我遇到了一些xpath形式的问题。此外,如果IE再也不会有XPath支持,我不希望永远依赖外部库,而是找到下一个“最好”的东西来使用

相反,有人指出。但我的问题是,它似乎主要是一个HTML选择API(主要是从CSS发展而来的,因此它有类和ID属性的特殊情况——可能还有其他HTML ISM我还没有见过)


因此,选择器API是否适合处理XML文档?考虑到IE缺乏支持,答案可能是“是”,但我看不到任何权威性的建议(或反建议)。

确实如此。尽管CSS确实被设计为HTML的伴奏,但它也被设计为与文档语言无关,HTML ISM与一般规则分开定义(同时仍然兼容),选择器标准也是从CSS选择器语法派生的

选择器API所基于的从开始:

选择器是与树中的元素相匹配的模式,因此构成了可用于选择XML文档中节点的几种技术之一。选择器已针对HTML和XML进行了优化,设计为可用于性能关键型代码

实现可以使用适当的解析器从HTML或XML中构造DOM树,然后可以使用选择器查询解析器。使用选择器匹配XML元素应该不会有任何问题

请注意,尽管HTML和XML实际上共享ID和类语义(例如,您可以在XSD中定义ID和IDREF属性),但只有在选择器API实现知道特定风格的XML如何定义这些语义时,才能使用ID和类选择器匹配它们。因为您使用的实现是一个浏览器,所以它所理解的唯一XML风格可能是广泛采用的Web标准,如SVG和MathML,而不是您内部的XML风格。不过,您仍然可以使用基本类型选择器、属性选择器、结构伪类和组合器,这些应该足以满足您的需要


您最终会遇到的大多数限制可能都存在于选择器语法本身,尽管其中一些限制正在和中得到纠正,使用主题指示符,
:matches()
,extended
:not()
:nth-match()
:nth-last-match()
,以及
:scope
,除此之外。

。谢谢你让我看起来很傻:-)