您可以使用JQuery通过XSLT将XML转换为XML

我有一个网站,其中包含基于文档类型动态填充的文档的链接,所有数据都位于一个中央xml文件中。 我想让JQuery将参数传递给样式表,样式表根据传递的参数使用xpath隔离节点,然后根据属性对注释进行排序。 从我发现的所有文档中,JQuery本身不支持XSLT,并且一旦原始xml被转换,没有任何第三方插件可以返回新的XML对象。 我错过了什么或是我想要的不可能吗? xsl文件已经在javascript之外进行了测试,它运行完美。

这是没有转换的代码示例

$.ajax({ type: "GET", url: "xml/charts.xml", dataType: "xml", success: function(xml) { $(xml).find('chart').each(function(){ // Create link here }); } }); 

另一个是http://jquery.glyphix.com/jquery.xslTransform/example/index.html上的 jquery.xslTransform

 // now load both files into variables for the next 2 transformations var xsldoc = $.xsl.load('test.xsl'); var xmldoc = $.xsl.load('test.xml'); // with an xpath $('#with').getTransform( xsldoc, xmldoc, { xpath: '/test/inside' } ); 

或者作为一般文件说明:

 $.getTransform( 'path-to-xsl.xsl', // path or xsl document in javascript variable 'path-to-xml.xml', // path or xml document in javascript variable { params: { // object for your own xsl parameters paramName1: 'paramValue1', paramName2: 'paramValue2' }, xpath: '/test/inside', // trims your xml file to that defined by this xpath eval: true, // evaluates any  

在链接页面上有一个使用示例,猜测它可以满足您的需求,虽然它是sarissa的javascript包装器,它试图在所有浏览器中为XSL工具制作独立于浏览器的API。

你可以在Javascript中进行XSLT转换,jQuery甚至不涉及这个过程,但是我严重怀疑你是否能够将任何参数传递给处理器。

在w3schools上有一个关于使用javascript进行XSLT处理的教程 。

一个更便携的实现是ajaxslt( http://goog-ajaxslt.sourceforge.net/ ),它是有限的,但它在许多情况下工作正常。 我不久前用它来做一个proyect,它甚至在探险家6中也有效。