0

C# 中有一个 WCF 服务:

[ServiceBehavior(AddressFilterMode = AddressFilterMode.Any, InstanceContextMode = InstanceContextMode.Single, ConcurrencyMode = ConcurrencyMode.Single, IncludeExceptionDetailInFaults = true)]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
class SubscriptionService : ISubscriptionService
{        
    public Message Help(Message m)
    {
        WebOperationContext.Current.OutgoingResponse.ContentType = "text/html; charset=utf-8";
        return new WebHttpHelpPageMessage();
    }
}

[ServiceContract]
interface ISubscriptionService
{        
    [OperationContract]
    [WebInvoke(UriTemplate = "*", Method = "*")]
    Message Help(Message m);
}

来自继承类的消息:

public class WebHttpHelpPageMessage : Message
{
    ...

    protected override void OnWriteBodyContents(System.Xml.XmlDictionaryWriter writer)
    {
        writer.WriteStartElement("html");
        writer.WriteRaw("<head></head><body><p>Hi</p></body>");
        writer.WriteEndElement();
    }
}

浏览器中的结果——XML,怎么变成HTML?

4

1 回答 1

0

既然你已经有了 xml,我可以建议你做的是创建一个 xml 对象。然后,根据您的需要创建 xslt ( http://msdn.microsoft.com/en-us/library/ms256069.aspx )。

然后,您可以使用 xslt 将该 xml 转换为 HTML。这样很容易,您可以控制要如何显示它。

http://msdn.microsoft.com/en-us/library/system.xml.xsl.xslcompiledtransform.aspx

如果您遵循这种方法,这就足够了。

于 2013-08-06T09:51:28.350 回答