【问题标题】:Bad doctype render of html document by XmlReaderXmlReader 对 html 文档的错误 doctype 渲染
【发布时间】:2012-02-18 15:58:58
【问题描述】:

我有文件

<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<body>
</body>
</html>

当我在 IDispatchMessageFormatter 中使用此代码和代码生成 html 页面时:

XmlReaderSettings settingsReader=new XmlReaderSettings();
settingsReader.ProhibitDtd=false;
                        settingsReader.DtdProcessing=DtdProcessing.Parse;
settingsReader.ValidationEventHandler+=new System.Xml.Schema.ValidationEventHandler(settingsReader_ValidationEventHandler);
XhtmlUrlResolver resolver=new XhtmlUrlResolver();
                        Uri baseUri=new Uri("http://localhost/App_Data/dtd");

                        Uri fulluri=resolver.ResolveUri(baseUri,"xhtml11.dtd");

                        // Get a stream object containing the XSL file
                        Stream s=(Stream)resolver.GetEntity(fulluri,null,typeof(Stream));

                        //Read the stream object displaying the contents of the XSL file
                        settingsReader.XmlResolver=resolver;

                        MemoryStream ms=new MemoryStream(Encoding.UTF8.GetBytes((MessageBody)));
                        ms.Position=0;

                        XmlReader reader=XmlReader.Create(ms,settingsReader);
                        MessageResponse=Message.CreateMessage(messageVersion,string.Format("ServiceModel/IService/{0}",Operation),reader);

Html 页面文档类型生成为

<html version="-//W3C//DTD XHTML 1.1//EN" xmlns="http://www.w3.org/1999/xhtml">

我找不到一种方法来很好地页面包含 doctype:

【问题讨论】:

    标签: .net wcf doctype xmlreader


    【解决方案1】:

    唯一的解决方案是以二进制形式发送消息。我写在博客http://netmajor.wordpress.com/2012/01/27/jak-przeslac-xhtml-wraz-z-doctype-w-obiekcie-message-za-pomoca-wcf/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-03
      • 1970-01-01
      • 2021-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多