2016-03-07 64 views
0

我有兩個xml文件,我想使用XslCompiledTransform進行轉換。麻煩是我必須在一次轉換中做到這一點。我爲第一個文件使用.Transform方法,而在xsl腳本中引用另一個文件。我所需要的是包含來自兩個xml文件的一些數據的html輸出。我的代碼是:使用XslCompiledTransform轉換兩個xml文件

XsltSettings settings = new XsltSettings(true, true); 
XslCompiledTransform myXslTransform = new XslCompiledTransform(); 
myXslTransform.Load(openFileDialog1.FileName, settings, new XmlUrlResolver()); 
string HTMLoutput; 
StringWriter writer = new StringWriter(); 
myXslTransform.Transform("file1.xml", null, writer); 
HTMLoutput = writer.ToString(); 
writer.Close(); 

我捕獲異常以下:和的InnerException「加載document'file2.xml出現的錯誤」:「出於安全原因的DTD此XML文檔中禁止啓用DTD處理設置DtdProcessing XmlReaderSettings屬性解析並將設置傳遞給XmlReader.Create方法。「

那麼我該怎麼做InnerExcetion告訴我當XmlReader被.Transform方法使用時要做什麼?或者還有其他辦法可以實現這種轉變嗎?

回答

1

對file1.xml使用XmlReader,允許Dtds使用​​,我認爲任何加載了document函數的輔助XML文檔都會使用相同的設置加載。

+0

謝謝你這樣做...我實際上需要忽略DTD,因爲我的文件沒有任何。 – mmdfan