Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.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
Web services Webservice是否在发送前将XSLT应用于响应?_Web Services_Xslt - Fatal编程技术网

Web services Webservice是否在发送前将XSLT应用于响应?

Web services Webservice是否在发送前将XSLT应用于响应?,web-services,xslt,Web Services,Xslt,我有一个基本的asp.net Web服务,它返回一个简单的响应。 为了使其兼容,我需要应用XSLT。 有没有一种方法可以将XSLT应用于我的响应 我知道接收者可以将其应用于他们的端部,但在这种情况下,我需要将其应用于我的端部 谢谢 无论您谈论的是传统ASMX还是当前的WCF web服务,您都在谈论控制输出上的序列化XML。默认情况下,ASMX和WCF处理程序都将为各自的web服务方法中使用的底层对象启动序列化例程 如果希望在序列化XML的构造之外工作,可以这样做。您的方法可以返回一个字符串,该字

我有一个基本的asp.net Web服务,它返回一个简单的响应。 为了使其兼容,我需要应用XSLT。 有没有一种方法可以将XSLT应用于我的响应

我知道接收者可以将其应用于他们的端部,但在这种情况下,我需要将其应用于我的端部


谢谢

无论您谈论的是传统ASMX还是当前的WCF web服务,您都在谈论控制输出上的序列化XML。默认情况下,ASMX和WCF处理程序都将为各自的web服务方法中使用的底层对象启动序列化例程

如果希望在序列化XML的构造之外工作,可以这样做。您的方法可以返回一个字符串,该字符串只不过是您的方法的输出。您需要:

  • 完成构建结果对象的逻辑
  • 将对象序列化为XML——作为字符串
  • 在XML上运行XSL转换,将其转换为输出流
  • 从方法返回输出流的内容
  • 不过,这是一个极其糟糕的黑客行为

    编辑:根据John的参考,重点是通过控制输出XML来解决这个问题。如果您使用的是旧式ASMX,这是基本的XML序列化。如果您使用的是WCF,则有更多的格式选项可用。

    请参阅


    忽略ASMX web服务。它们几乎没有可扩展性,现在被微软视为“遗留技术”。

    -1建议XML序列化,特别是在WCF的上下文中。John,WCF正在秘密地序列化XML。请参阅DataContractSerializer。我的评论是一般性的——重点是控制xml输出,而不是合并XSLT。对不起,我以为你指的是XmlSerializer。@john:oy,忘了那件事。我正试图永远忘掉它。:-)谢谢约翰,“遗产”你可能是对的。但你必须承认,它们超级简单快捷,能够在<5分钟内设置并运行服务真是太好了。@aron:设置WCF服务也同样快捷,而且你会发现使用ASMX服务做你想做的事情要困难得多。顺便说一句,“遗留”也意味着他们只是在修复关键的bug。这意味着他们没有修复任何你想要修复的bug。