vb.net 应用程序将 xml 转换为文本

Posted

技术标签:

【中文标题】vb.net 应用程序将 xml 转换为文本【英文标题】:Vb.net application to convert xml to text 【发布时间】:2019-01-27 17:32:42 【问题描述】:

在创建控制台应用程序以从文件夹中读取 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

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

【问题讨论】:

【参考方案1】:

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

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

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

【讨论】:

以上是关于vb.net 应用程序将 xml 转换为文本的主要内容,如果未能解决你的问题,请参考以下文章

在VB.NET中如何将日期类型转化为String型?

C#/VB.NET 将RTF转为PDF

为文本保存设置正确的文件路径 - vb.NET [重复]

VB.net 转换为十进制(放置顺序)

如何在 VB.NET 中为基于 Windows 的应用程序创建带有自动建议的文本框?

C#/VB.NET 给PDF文档添加文本/图像水印