C#中的文本框和Xml

时间:2011-08-12 13:37:33

标签: c# xml winforms visual-studio textbox

我刚开始使用VS2010和C#。

我正在尝试创建一个应用程序,它从两个文本框中获取值并将其添加到现有的xml文件中。

例如

Text Box 1       Text Box 2
----------       ----------
A                B
C                D
E                F

我希望生成的xml文件是这样的。

<root>
 <element>
 <Entry1>A</Entry1>
 <Entry2>B</Entry2>
 </element>
</root>

依旧......

可以使用C#??

完成

我无法添加条目,即Entry1应包含文本框1行#1和Entry2文本框2行#1。

任何帮助都将不胜感激。

由于

2 个答案:

答案 0 :(得分:1)

您需要根据new line分割从文本框中检索到的字符串,如下所示:

string[] lines = theText.Split(new string[] { Environment.NewLine }, StringSplitOptions.None);

为每个文本框分配值后,可以使用System.xml.linq.xdocument class并循环显示上面检索的值。

这样的事情:

XDocument srcTree = new XDocument(new XElement("Root",
    new XElement("entry1", "textbox value1")))

您可以使用linq查询检索xml文档,或使用Save <{1}} XDocument方法将其保存在xml文件中

以下代码将为您提供文本框中的XML数据字符串:

private string createXmlTags(TextBox textBox1, TextBox textBox2)
    {
        string strXml = string.Empty;
        string[] text1Val = textBox1.Text.Split(new string[] { Environment.NewLine }, StringSplitOptions.None);
        string[] text2Val = textBox2.Text.Split(new string[] { Environment.NewLine }, StringSplitOptions.None);
        int count = 1;
        IList<XElement> testt = new List<XElement>();

        for (int i = 0; i < text1Val.Count(); i++)
        {
            testt.Add(new XElement("Entry" + count, text1Val[i]));
            while (!String.IsNullOrEmpty(text2Val[i]))
            {
                count = count + 1;
                testt.Add(new XElement("Entry"+count,text2Val[i]));
                break;
            }
            count = count + 1;
        }
        foreach (var xElement in testt)
        {
            strXml += xElement.ToString();
        }
        return strXml;
    }

然后,您可以将代码插入到现有的xml文档中。关注:How can I build XML in C#?How to change XML Attribute

答案 1 :(得分:0)

请在此处阅读:XDocument or XmlDocument

我将不会从那里复制代码。在那里,您需要了解创建XML文档时需要了解的所有基础知识。

有两个选项,我个人会选择XDocument。

我知道这个答案中没有代码,但是因为你没有尝试任何东西,甚至没有显然搜索谷歌(相信我,你会发现它),我宁愿指出你正确的方向而不是“给你鱼“。