如何将多行文本文件转换为单行文本文件

时间:2019-05-21 11:08:30

标签: excel xml csv file-conversion

首先,我看过this以及网络上的其他地方,但我找不到真正想要的东西。

我有一个警报/访问控制系统,该系统将xml的单行,连续/连续行作为配置文件。如果在记事本之类的文本编辑器中打开“行”,则有数百行。但是-实际上全部在同一行上-没有回车的地方。

现在,我想在列表中添加用户(有200多个用户),并且在XML中找到了我需要插入所有详细信息的位置。我有一个包含名称,权限等的Excel电子表格,并将其转换为CSV。现在,我需要从文本中删除每个回车符,然后再将其粘贴到Config文件中。

我没有使用任何服务器类型的软件,C#或Javascript或任何此类软件。我所拥有的只是Excel和记事本。我不介意使用程序或工具来解析CSV,但是它必须为我的多行CSV提供一条连续的单行输出

除了手动遍历文件并在每次回车时都单击delete之外,还有其他方法吗?

EDIT

预期输出(从记事本复制XML的示例):

<user id="1"><name>Bevan</name><pin>xxxx</pin><tag>xxxxxxxx</tag><type><opt id="kbdortag">Keypad or Tag</opt></type><partns><pn id="1" /><pn id="2" /></partns><access><opt id="awarm" /><opt id="awdis" /><opt id="stdis" /><opt id="egrs" /><opt id="view" /></access><priv><opt id="own" /><opt id="otr" /><opt id="all" /><opt id="phn" /><opt id="clk" /><opt id="dtmf" /><opt id="lrn" /><opt id="cbk" /></priv><misc /><tzs /><kps><kp id="1" /><kp id="2" /><kp id="3" /><kp id="4" /><kp id="5" /><kp id="6" /><kp id="7" /><kp id="8" /><kp id="9" /><kp id="10" /><kp id="11" /><kp id="12" /><kp id="13" /><kp id="14" /><kp id="15" /><kp id="16" /><kp id="17" /><kp id="18" /><kp id="19" /><kp id="20" /><kp id="21" /><kp id="22" /><kp id="23" /><kp id="24" /><kp id="25" /><kp id="26" /><kp id="27" /><kp id="28" /><kp id="29" /><kp id="30" /><kp id="31" /><kp id="32" /></kps><opon><op id="1" /><op id="2" /><op id="3" /><op id="4" /><op id="5" /><op id="6" /><op id="7" /><op id="8" /><op id="9" /><op id="10" /><op id="11" /><op id="12" /><op id="13" /><op id="14" /><op id="15" /><op id="16" /><op id="17" /><op id="18" /><op id="19" /><op id="20" /><op id="21" /><op id="22" /><op id="23" /><op id="24" /><op id="25" /><op id="26" /><op id="27" /><op id="28" /><op id="29" /><op id="30" /><op id="31" /><op id="32" /></opon><opoff><op id="1" /><op id="2" /><op id="3" /><op id="4" /><op id="5" /><op id="6" /><op id="7" /><op id="8" /><op id="9" /><op id="10" /><op id="11" /><op id="12" /><op id="13" /><op id="14" /><op id="15" /><op id="16" /><op id="17" /><op id="18" /><op id="19" /><op id="20" /><op id="21" /><op id="22" /><op id="23" /><op id="24" /><op id="25" /><op id="26" /><op id="27" /><op id="28" /><op id="29" /><op id="30" /><op id="31" /><op id="32" /></opoff><usage>255</usage><startdate /><enddate /><starttime>0:00</starttime><endtime>23:59</endtime><tzd /><ag>1</ag></user><user id="2"><name>Fred Dagg</name><pin></pin><tag>xxxxxxxxx</tag><type><opt id="tag">Prox Tag</opt></type><partns><pn id="1" /><pn id="2" /></partns><access><opt id="awarm" /><opt id="awdis" /><opt id="stdis" /><opt id="egrs" /></access><priv /><misc /><tzs /><kps><kp id="1" /><kp id="2" /><kp id="3" /><kp id="4" /><kp id="5" /><kp id="6" /><kp id="7" /><kp id="8" /><kp id="9" /><kp id="10" /><kp id="11" /><kp id="12" /><kp id="13" /><kp id="14" /><kp id="15" /><kp id="16" /><kp id="17" /><kp id="18" /><kp id="19" /><kp id="20" /><kp id="21" /><kp id="22" /><kp id="23" /><kp id="24" /><kp id="25" /><kp id="26" /><kp id="27" /><kp id="28" /><kp id="29" /><kp id="30" /><kp id="31" /><kp id="32" /></kps><opon><op id="8" /><op id="11" /><op id="13" /><op id="14" /><op id="15" /><op id="16" /></opon><opoff><op id="13" /></opoff><usage>255</usage><startdate /><enddate /><starttime>0:00</starttime><endtime>0:00</endtime><tzd /><ag>0</ag></user>

如果我尝试使用excel制作此文件,那么我当然会用完所有列!

从csv中,我得到:

<user id="1"><name>Bevan</name><pin>xxxx</pin><tag>xxxxxxxx</tag><type><opt id="kbdortag">Keypad or Tag</opt></type><partns><pn id="1" /><pn id="2" /></partns><access><opt id="awarm" /><opt id="awdis" /><opt id="stdis" /><opt id="egrs" /><opt id="view" /></access><priv><opt id="own" /><opt id="otr" /><opt id="all" /><opt id="phn" /><opt id="clk" /><opt id="dtmf" /><opt id="lrn" /><opt id="cbk" /></priv><misc /><tzs /><kps><kp id="1" /><kp id="2" /><kp id="3" /><kp id="4" /><kp id="5" /><kp id="6" /><kp id="7" /><kp id="8" /><kp id="9" /><kp id="10" /><kp id="11" /><kp id="12" /><kp id="13" /><kp id="14" /><kp id="15" /><kp id="16" /><kp id="17" /><kp id="18" /><kp id="19" /><kp id="20" /><kp id="21" /><kp id="22" /><kp id="23" /><kp id="24" /><kp id="25" /><kp id="26" /><kp id="27" /><kp id="28" /><kp id="29" /><kp id="30" /><kp id="31" /><kp id="32" /></kps><opon><op id="1" /><op id="2" /><op id="3" /><op id="4" /><op id="5" /><op id="6" /><op id="7" /><op id="8" /><op id="9" /><op id="10" /><op id="11" /><op id="12" /><op id="13" /><op id="14" /><op id="15" /><op id="16" /><op id="17" /><op id="18" /><op id="19" /><op id="20" /><op id="21" /><op id="22" /><op id="23" /><op id="24" /><op id="25" /><op id="26" /><op id="27" /><op id="28" /><op id="29" /><op id="30" /><op id="31" /><op id="32" /></opon><opoff><op id="1" /><op id="2" /><op id="3" /><op id="4" /><op id="5" /><op id="6" /><op id="7" /><op id="8" /><op id="9" /><op id="10" /><op id="11" /><op id="12" /><op id="13" /><op id="14" /><op id="15" /><op id="16" /><op id="17" /><op id="18" /><op id="19" /><op id="20" /><op id="21" /><op id="22" /><op id="23" /><op id="24" /><op id="25" /><op id="26" /><op id="27" /><op id="28" /><op id="29" /><op id="30" /><op id="31" /><op id="32" /></opoff><usage>255</usage><startdate /><enddate /><starttime>0:00</starttime><endtime>23:59</endtime><tzd /><ag>1</ag></user>
<user id="2"><name>Fred</name><pin></pin><tag>xxxxxxxxx</tag><type><opt id="tag">Prox Tag</opt></type><partns><pn id="1" /><pn id="2" /></partns><access><opt id="awarm" /><opt id="awdis" /><opt id="stdis" /><opt id="egrs" /></access><priv /><misc /><tzs /><kps><kp id="1" /><kp id="2" /><kp id="3" /><kp id="4" /><kp id="5" /><kp id="6" /><kp id="7" /><kp id="8" /><kp id="9" /><kp id="10" /><kp id="11" /><kp id="12" /><kp id="13" /><kp id="14" /><kp id="15" /><kp id="16" /><kp id="17" /><kp id="18" /><kp id="19" /><kp id="20" /><kp id="21" /><kp id="22" /><kp id="23" /><kp id="24" /><kp id="25" /><kp id="26" /><kp id="27" /><kp id="28" /><kp id="29" /><kp id="30" /><kp id="31" /><kp id="32" /></kps><opon><op id="8" /><op id="11" /><op id="13" /><op id="14" /><op id="15" /><op id="16" /></opon><opoff><op id="13" /></opoff><usage>255</usage><startdate /><enddate /><starttime>0:00</starttime><endtime>0:00</endtime><tzd /><ag>0</ag></user>

我需要得到200行,并将它们合并为一行。哇!

1 个答案:

答案 0 :(得分:1)

使用查找和替换。 public static DataTable Codes { get { return dtWLCodes; } } public static DataTable Songs { get { return dtWLSongs; } } public static DataTable SongLyrics { get { return dtWLSongLyrics; } } public static void Commit (string sTable = "") { if (sTable == "" || sTable == "Songs") { daWLSongs.Update(dslWLSongs.Songs); } if (sTable == "" || sTable == "SongLyrics") { daWLSongLyrics.Update(dslWLSongs.SongLyrics); } 和/或alt-010将查找换行符和回车符。替换为空或空白。