【问题标题】:Can I load XML response after XSLT transformation我可以在 XSLT 转换后加载 XML 响应吗
【发布时间】:2020-02-16 18:47:13
【问题描述】:

我正在转换带有附加在标头中的 XSLT 的 XML 响应,完全没有问题。我也可以使用 Javascript 访问 HTML DOM。我想要实现的是在浏览器中加载原始xml AFTER 转换完成。考虑到我没有从 AJAX 获得 XML 响应,而是作为页面加载。到目前为止,我所做的是在转换过程中将 xml dom 复制到隐藏的 div 中,但我更喜欢更高效、更优雅的解决方案。提前谢谢。

【问题讨论】:

  • 您想用 Javascript 加载 XML 吗?如果 window.location.href 具有 URI,则任何使用 XMLHttpRequest 的访问(然后使用 responseXML 来访问 XML DOM)都应该从缓存中获取文档。我不知道某些浏览器属性,除非您针对一些我认为暴露了 document.XMLDocumentdocument.XSLDocument 的非常古老的 IE 版本。
  • 如果您正在进行客户端 XSLT 转换,那么可以,有 Javascript API 允许您运行转换并将结果作为 DOM 文档节点进行处理。但恐怕我不清楚你的情况到底是什么。
  • 假设您有一个表格,其中包含 XSLT 转换后的行中的所有记录,现在您想要编辑以模态形式显示它们的每一行。通常人们使用 AJAX 调用再次从服务器检索信息或使用打开模式的链接中的属性填充表单中的控件。我的观点是,如果您已经在客户端中拥有该信息,您应该能够使用不同的参数进行另一次转换以填充表单。
  • 不清楚您是否使用 Javascript 和 XSLTProcessor 运行第一次转换。如果您这样做,那么第二次运行,仅在更改相关参数(根据需要使用 clearParameters 和 setParameter)之后,并且可能使用返回的文档片段来填充“模态对话框”,就足够了。
  • 第一个转换是在XML文件(不是文件)中添加转换的链接,第二个是加载该xml并使用Js和XsltProcessor。

标签: xml xslt


【解决方案1】:

解决方案必须来自服务器,而不是使用 XML 作为响应,现在我将 XML 文档保存为文件,并带有指向 XSLT 的链接,然后重定向到这个新的 xml 文件。这样我就可以按照Martin Honnen的建议从window.location.href 中检索xml

然后我可以加载要使用 JS 和 XSLTProcessor 处理的 xml,以在客户端上生成新内容。不需要 jQuery 或 Framewoek。

PS。如果用户需要刷新内容,我还会更改历史 URI

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-01-11
    • 1970-01-01
    • 2010-10-07
    • 1970-01-01
    • 2016-10-19
    • 2019-10-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多