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 转换为文本的主要内容,如果未能解决你的问题,请参考以下文章