2016-09-19 32 views
0

我想創建一個VS項目,我可以使用它作爲xslt代碼的調試工具。我已經加載了xml模式以及xslt文件。使用XslTransform類我可以調用XslTransform.Transform在xml中傳遞,但我無法擊中已添加到xslt文件的中斷點?XSLT變壓器VS調試器

回答

0

據我所知,您需要使用XslCompiledTransform而不是XslTransform。而你需要使用new XslCompiledTransform(true)構造https://msdn.microsoft.com/en-us/library/ms163418(v=vs.110).aspx,還滿足以下條件

  • 樣式表傳遞給Load方法無論是作爲一個URI,或實現IXmlLineInfo接口XmlReader類的實現。 IXmlLineInfo接口在所有文本解析XmlReader對象上實現。換句話說,如果使用IXPathNavigable對象(如XmlDocument或XPathDocument)或未實現IXmlLineInfo接口的XmlReader實現加載樣式表,則無法調試樣式表。

  • 用於加載樣式表的XmlResolver是一個基於文件的XmlResolver,比如XmlUrlResolver(這是XslCompiledTransform類使用的默認XmlResolver)。

  • 樣式表位於本地機器或Intranet上。

需要爲真。

+0

當我使用XslCompiledTransform時,這是返回的錯誤返回令牌文本在狀態開始將導致無效的XML文檔。如果要編寫XML片段,請確保ConformanceLevel設置設置爲ConformanceLevel.Fragment或ConformanceLevel.Auto。 –

+0

我認爲一個特定的調試問題最好用單獨問題中的代碼來描述。這個錯誤聽起來好像你在某個地方創建了一個文檔片段,代碼需要一個具有單個根元素的格式良好的文檔。無論您想在XSLT中還是在C#API級別解決這個問題,我都不知道,我認爲您應該提供您在新問題中具體的細節。 –