2013-11-21 81 views
2

我正嘗試使用Saxon將文本文件轉換爲XSLT 2.0中的xml。在vb.net中使用Saxon api進行XSLT 2.0轉換

text file = c:\\...\....sample.txt 

對於這一點, 我想通過其中包含的文本文件的屬性值的路徑的XML文件。

<?xml version="1.0" encoding="UTF-8"?> 
<InputArgs inputFile="C:\\...\....sample.txt" schemaName="test.xsd" /> 

我使用的代碼

 Processor proc = new Processor(); 
     XdmNode input = proc.NewDocumentBuilder().Build(new Uri(INPUT XML PATH)); 
     XsltTransformer transformer = proc.NewXsltCompiler().Compile(new Uri(INPUT XSL PATH)).Load(); 
     transformer.InitialContextNode = input; 

     Serializer serializer = new Serializer(); 
     FileStream outStream = new FileStream(outFile, FileMode.Create, FileAccess.Write); 
     serializer.SetOutputStream(outStream); 
     transformer.Run(serializer); 
     outStream.Close(); 

我得到錯誤....

得出結論,如何通過提供XML轉換爲文本文件,以XML 和XSL只 文本文件以xml中的屬性值的形式傳遞...

就像將參數傳遞給XSL一樣?

+0

而錯誤信息是? (包括行號,以及上述代碼中的哪一行) – LarsH

+0

告訴我們,您在收到錯誤信息時沒有說明錯誤是什麼,而是要求我們在矇住眼睛時幫助您。 –

回答

0

您應該使用file URI形式<InputArgs inputFile="file:///C:/dir/subdir/sample.txt" schemaName="test.xsd" />,那麼在XSLT你可以使用unparsed-text

<xsl:template match="InputArgs"> 
    <xsl:variable name="sample" select="unparsed-text(@inputFile)"/> 
</xsl:template> 

當然,你也可以定義一個參數,並通過在URI如果你喜歡的。