【问题标题】:Text boxes and Xml in C#C# 中的文本框和 Xml
【发布时间】:2011-08-12 13:37:33
【问题描述】:

我刚开始使用 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 应包含 Text Box 1 line #1 和 Entry2 Text Box 2 line #1。

任何帮助将不胜感激。

谢谢

【问题讨论】:

  • 什么样的应用程序?网络表格? Windows 窗体?什么?
  • 忘了说!! Windows 窗体

标签: c# xml winforms visual-studio textbox


【解决方案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 文档,或使用 XDocumentSave 方法将其保存在 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

【讨论】:

  • Answer 已更新为创建 xml 标签的代码。我还提供了使用从方法检索到的字符串更新现有 xml 文件的链接
  • 这段代码和你之前输入的代码有什么区别?那样不行还是更容易?
  • 我测试过,但没有用。这更容易并且肯定有效
  • 完全符合我的要求...我已经更改了代码以适合自己,并将在其他项目中使用相同的代码:) 使用字符串是在 XML 中添加诸如此类数据的简单方法文件?
  • 如果你使用的是字符串,我相信这是分离它们的最简单方法。我很高兴能帮上忙:)
【解决方案2】:

在这里阅读:XDocument or XmlDocument

我不会从那里复制代码。那里很好地解释了创建 XML 文档时需要了解的所有基础知识。

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

我知道这个答案中没有代码,但是由于您没有尝试过任何东西,甚至没有明显地搜索 Google(相信我,您会找到它),我宁愿为您指出正确的方向,而不是“给您鱼”。

【讨论】:

  • 相信我...我一直在搜索,但真的不知道要搜索什么:p...XML 文件可以通过多种方式进行操作,我迷路了。 XDocument 是编辑 XML 的最佳方式吗?
猜你喜欢
  • 2011-09-12
  • 1970-01-01
  • 2012-02-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-10
  • 1970-01-01
相关资源
最近更新 更多