0

在创建控制台应用程序以从文件夹中读取 xml 文件并将它们转换为文本文件并使用 xsl 文件将它们保存在单独的文件夹中进行转换时需要帮助。

我尝试了多种选择,但没有任何效果。以下是我目前拥有的。

        For Each xmlFile As System.IO.FileInfo In xmlFiles

            'Do some data processing here
            Document = New XmlDocument()

            Document.Load(xmlFile.FullName)
            navigator = Document.CreateNavigator

            Dim reade As XmlReader = XmlReader.Create(xmlFile.FullName)
            transformer = New XslCompiledTransform
            transformer.Load("C:\Sample_XML_Files\Sample_XML_Files\Testing.xslt")
            output = New StringWriter()
            transformer.Transform(reade, Nothing, output)

            Dim stream As FileStream = New FileStream(xmlFile.DirectoryName + "\Out\" + xmlFile.Name + ".text", FileMode.Create)

            Dim writer As StreamWriter = New StreamWriter(stream)
            writer.Write(output.ToString)

            MessageBox.Show(output.ToString)
            writer.Close()
            output.Close()

        Next

解决此问题的任何帮助都会有所帮助。

4

1 回答 1

0

尝试使用只接受两个字符串参数的 Transform 方法,输入文件和目标文件。这样你就可以消除所有阅读器/流的东西。公共子转换(inputUri 作为字符串,resultsFile 作为字符串)

我假设您已经尝试通过 xslt 直接通过 xml 记事本或其他一些可以使用 microsoft 的 xslt 解析器的交互式 xslt 处理程序进行 xml 转换。这将消除 xml/xslt 转换本身作为问题的根源。

或者,您可以使用不同的 xslt 引擎来完成您的工作。

于 2018-08-21T14:22:29.400 回答