【发布时间】:2015-04-20 08:23:13
【问题描述】:
我需要转换一个在标题中包含此文档类型的 XML 文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE DOC SYSTEM "ts.dtd">
<?xml-stylesheet type="text/css" href="ts.css"?>
转换进行得很好,但在 XSL 转换后 doctype 消失了,我在 XmlReaderSettings 上尝试了各种设置,但无法正常工作。
这是我的代码:
XslCompiledTransform xctTransformer = new XslCompiledTransform();
xctTransformer.Load(fiXSL.FullName);
XmlReaderSettings xrsReaderSettings = new XmlReaderSettings();
xrsReaderSettings.ConformanceLevel = ConformanceLevel.Document;
xrsReaderSettings.DtdProcessing = DtdProcessing.Ignore;
xrsReaderSettings.XmlResolver = null;
xrsReaderSettings.CloseInput = true;
xrsReaderSettings.IgnoreWhitespace = false;
XmlWriterSettings xwsWriterSettings = new XmlWriterSettings();
xwsWriterSettings.Indent = true;
XmlReader xrReader = XmlReader.Create(fiXML.FullName, xrsReaderSettings);
XmlWriter xwWriter = XmlWriter.Create(fiXML.FullName.Substring(0, fiXML.FullName.Length - 4) + "_TRANS.xml", xwsWriterSettings);
// Transform the XML using the XSL
xctTransformer.Transform(xrReader, xwWriter);
xctTransformer = null;
// Close reader + writer
xrReader.Close();
xwWriter.Close();
【问题讨论】:
标签: c# .net xml xslt transform