【发布时间】:2019-04-08 20:33:32
【问题描述】:
我正在尝试编写一个将 csv 转换为 xml 的程序。 我的 xml 在放入数据之前将我的 csv 中的第一行保存为标签。我将粘贴我的代码和输出以便更好地理解。这是我的代码。
Imports System.IO
Imports System
Imports System.Collections.Generic
Imports System.Linq
Imports System.Text
Module Module1
Sub Main()
Dim source As String() = File.ReadAllLines("c:\Data\csvtoxmlTEST.CSV")
Dim firstRow As Boolean = True
Dim cust As XElement =
<events>
<%= From strs In source
Let fields = Split(strs, ",")
Select
<event EventIdentity=<%= fields(0) %>>
<name><%= fields(1) %></name>
<summary><%= fields(2) %></summary>
<description><%= fields(3) %></description>
<local-start-date-time><%= fields(4) %></local-start-date-time>
<local-end-date-time><%= fields(5) %></local-end-date-time>
<status><%= fields(11) %></status>
<locations>
<location>
<name><%= fields(6) %></name>
<location>
<name><%= fields(7) %></name>
<location>
<name><%= fields(8) %></name>
</location>
</location>
</location>
</locations>
<categories>
<category>
<name><%= fields(9) %></name>
</category>
</categories>
<custom-data><%= fields(10) %></custom-data>
</event>
%>
</events>
cust.Save("c:\Data\csvtoxmlTEST.xml")
End Sub
End Module
我的输出打印如下:
<?xml version="1.0" encoding="utf-8"?>
<events>
<event EventIdentity="EventIdentity">
<name>EventName</name>
<summary>EventSummary</summary>
<description>EventDescription</description>
<local-start-date-time>EventStart</local-start-date-time>
<local-end-date-time>EventEnd</local-end-date-time>
<status>status</status>
<locations>
<location>
<name>Location1_Name</name>
<location>
<name>Location2_Building</name>
<location>
<name>Location3_Room</name>
</location>
</location>
</location>
</locations>
<categories>
<category>
<name>Category</name>
</category>
</categories>
<custom-data>Department</custom-data>
</event>
<event EventIdentity="17057">
<name>ACCT</name>
<summary> Financial Acct</summary>
<description>ACCT 23071 Financial Acct</description>
<local-start-date-time>1/28/2019 10:00AM</local-start-date-time>
<local-end-date-time>1/28/2019 10:50AM</local-end-date-time>
<status>A</status>
<locations>
<location>
<name>TestClass</name>
<location>
<name>West</name>
<location>
<name>room - 24</name>
</location>
</location>
</location>
</locations>
<categories>
<category>
<name>Academic Course</name>
</category>
</categories>
<custom-data>School of Business Administration</custom-data>
</event>
</events>
我希望它保存我的 xml 并以 <event EventIdentity="17057"> 开头,而不是 <event EventIdentity="EventIdentity">。
最后是程序读取的我的测试 csv 文件: EventIdentity,EventName,EventSummary,EventDescription,EventStart,EventEnd,Location1_Name,Location2_Building,Location3_Room,Category,Department,status 17057,ACCT, Financial Acct,ACCT 23071 Financial Acct,1/28/2019 10:00AM,1/28/2019 10:50AM,TestClass,West,room - 24,Academic Course,工商管理学院,A
【问题讨论】:
-
From strs In source.Skip(1) -
非常感谢您