如何将不同的文本行解析为XML文件 [英] How do I parse different rows of text into an XML file
问题描述
我正在尝试从datagridview生成一个XML文件,如下所示:
A0001,Horse on Wheels,5,No
A0002,车轮上的大象,2,没有
A0003,车轮上的狗,0,是
A0004,轮子上的密封,3,没有
它有4个元素,即订单号,物品描述,当前计数和订单。
但是,生成XML文件时,只使用顶行。如何才能使不同的行用于不同的项目?
我尝试过的方法:
我的代码如下
string source = Clipboard。的getText(TextDataFormat.CommaSeparatedValue);
XElement cust = new XElement( Root ,
来自 str 来源
让 fields = source.Split(' ,',< span class =code-string>' \ n')
select new XElement( Item ,
new XElement( OrderId,fields [ 0 ]),
new XElement( ItemDescription,字段[ 1 ]),
new XElement( CurrentCount,字段[ 2 ]),
new XElement( OnOrder,字段[ 3 ])
)
);
我有一个按钮,可以将网格中的所有数据复制到剪贴板,代码如下: />
// 保存剪贴板的当前状态,以便我们可以在完成后恢复它
IDataObject objectSave = Clipboard.GetDataObject();
// 选择是否写标题
dataGridView1.ClipboardCopyMode = DataGridViewClipboardCopyMode.EnableWithoutHeaderText;
// 选择所有单元格以复制它们
dataGridView1.SelectAll ();
// 复制(设置剪贴板)
Clipboard.SetDataObject(dataGridView1 .GetClipboardContent());
任何帮助将不胜感激。我对编码非常陌生并且一直在努力教自己几周。
试试这个
string pathofTextFile = @ d:\text.txt跨度>;
string [] source = File.ReadAllLines(pathofTextFile);
XElement cust = new XElement( Root ,
来自 str 来源
让 fields = str.Split(' ,')
选择 新 XElement( 项目,
new XElement( OrderId,字段[ 0 ]),
new XElement( ItemDescription,fields [ 1 ]),
new XElement( CurrentCount,fields [< span class =code-digit> 2 ]),
new XElement( OnOrder,字段[ 3 ])
)
);
I am trying to generate an XML file from a datagridview that looks like this:
A0001,Horse on Wheels,5,No
A0002,Elephant on Wheels,2,No
A0003,Dog on Wheels,0,Yes
A0004,Seal on Wheels,3,No
It has 4 elements i.e an Order Number, Item description, Current count and On order.
When the XML file is generated however, only the top row is used. How can I make it so that a different row is used for different items?
What I have tried:
my code is as follows
string source = Clipboard.GetText(TextDataFormat.CommaSeparatedValue);
XElement cust = new XElement("Root",
from str in source
let fields = source.Split(',', '\n')
select new XElement("Item",
new XElement("OrderId", fields[0]),
new XElement("ItemDescription", fields[1]),
new XElement("CurrentCount", fields[2]),
new XElement("OnOrder", fields[3])
)
);
I have a button that copies all the data in the grid to the clipboard, code is as follows:
// Save the current state of the clipboard so we can restore it after we are done
IDataObject objectSave = Clipboard.GetDataObject();
// Choose whether to write header
dataGridView1.ClipboardCopyMode = DataGridViewClipboardCopyMode.EnableWithoutHeaderText;
// Selects all the cells in order to copy them
dataGridView1.SelectAll();
// Copy (this sets the clipboard)
Clipboard.SetDataObject(dataGridView1.GetClipboardContent());
Any help would be greatly appreciated. I am very new to coding and have been trying to teach myself for only a few weeks.
try this
string pathofTextFile = @"D:\text.txt"; string[] source = File.ReadAllLines(pathofTextFile); XElement cust = new XElement("Root", from str in source let fields = str.Split(',') select new XElement("Item", new XElement("OrderId", fields[0]), new XElement("ItemDescription", fields[1]), new XElement("CurrentCount", fields[2]), new XElement("OnOrder", fields[3]) ) );
这篇关于如何将不同的文本行解析为XML文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!