【发布时间】: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