本文介绍了如何将不同的文本行解析为XML文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述 我正在尝试从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(' ,',' \ 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 [ 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,NoA0002,Elephant on Wheels,2,NoA0003,Dog on Wheels,0,YesA0004,Seal on Wheels,3,NoIt 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 followsstring 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文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!
11-01 02:50