如何将不同的文本行解析为XML文件 [英] How do I parse different rows of text into an XML file

查看:81
本文介绍了如何将不同的文本行解析为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(' ,',< 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆