.net XML转换后保留DTD
我正在转换一个XML文档,但是在转换之后,我的DTD消失了,并且第一行也告诉我XML版本丢失了.net XML转换后保留DTD,.net,xml,dtd,.net,Xml,Dtd,我正在转换一个XML文档,但是在转换之后,我的DTD消失了,并且第一行也告诉我XML版本丢失了 <?xml version="1.0"?> 有什么想法吗?为了保留XML声明,您需要确保在XmlWriterSettings中设置为false: var settings = new XmlWriterSettings { Indent = true, IndentC
<?xml version="1.0"?>
有什么想法吗?为了保留XML声明,您需要确保在
XmlWriterSettings
中设置为false
:
var settings = new XmlWriterSettings
{
Indent = true,
IndentChars = "\t",
ConformanceLevel = ConformanceLevel.Auto,
Encoding = Encoding.UTF8,
OmitXmlDeclaration = false,
};
至于DTD“消失”——因为您正在转换文档,所以应该向转换后的文档添加新的DTD声明
如果没有
xsl
和xml
文件,很难确定。你能编辑你的问题并添加它们吗?嘿,谢谢你的回复。是的
writer.WriteDocType(mydoc.DocumentType.Name, mydoc.DocumentType.PublicId, mydoc.DocumentType.SystemId, mydoc.DocumentType.InternalSubset);
它成功了。是的,我也有
OmitXmlDeclaration = false,
谢谢
OmitXmlDeclaration = false,