繁体中文
设为首页
加入收藏
当前位置:.Net技术首页 >> Asp.Net开发 >> 将具有特殊格式的文件转化为xml文件

将具有特殊格式的文件转化为xml文件

2007-07-15 08:00:00  作者:  来源:互联网  浏览次数:0  文字大小:【】【】【
简介:假如我们现在有这样的一个文件food.tab 内容如下: Room_Number Breakfast Lunch Dinner 290 Bagel Pizza Salmon 301 Orange Pizza Chicken...
关键字:文件 特殊 格式 xml

假如我们现在有这样的一个文件food.tab

内容如下:

Room_Number Breakfast Lunch Dinner

290 Bagel Pizza Salmon

301 Orange Pizza Chicken ala King

349 Sweet Roll Salad Tofu and Vegetables

500 Omelet Sausage Veal

702 Eggs Tuna fish Cheese Sandwich

文件中每一项都是用vbtab进行分割的

那么现在我们要把它自动转化为一个如下的XML文件

290

Bagel

Pizza

Salmon

301

Orange

Pizza

Chicken ala King

349

Sweet Roll

Salad

Tofu and Vegetables

500

Omelet

Sausage

Veal

702

Eggs

Tuna fish

Cheese Sandwich

我们需要怎么做呢:

我们需要利用StreamReader来读取文件内容,存放到一个临时的dataset中,最后用dataset的getXML()来得到这个XML文件

LET'GO

code:

Imports System

Imports System.IO

Imports System.Collections

Imports System.Data

Imports System.Text

Module modXML

Sub Main()

Dim strXML As String

strXML = delimitedDataSet(vbTab, "c:/food.tab")

'你可能需要进行必要的修改

End Sub

Function delimitedDataSet(ByVal strDelimiter As String, _

ByVal strFilePath As String) As String

Dim oDS As New DataSet()

Dim strFields As String

Dim oTable As New DataTable()

Dim oRows As DataRow

Dim intCounter As Int32 = 0

Dim oRow As DataRow()

oDS.DataSetName = "Kitchen"

oDS.Namespace = "The_Roach_Motel"

oDS.Tables.Add("Room_Service")

Dim oSR As New StreamReader(strFilePath)

'到文件的头

oSR.BaseStream.Seek(0, SeekOrigin.Begin)

'添加到 Header Columns

For Each strFields In oSR.ReadLine().Split(strDelimiter)

oDS.Tables(0).Columns.Add(strFields)

Next

'现在添加rows

oTable = oDS.Tables(0)

While (oSR.Peek() > -1)

oRows = oTable.NewRow()

For Each strFields In oSR.ReadLine().Split(strDelimiter)

oRows(intCounter) = strFields

intCounter = intCounter + 1

Next

intCounter = 0

oTable.Rows.Add(oRows)

End While

Return oDS.GetXML()

'oDS.WriteXML("c:/food.XML")

'或者将它写到硬盘上

End Function

责任编辑:admin
相关文章