[英]Text boxes and Xml in C#
我刚开始使用 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。
任何帮助,将不胜感激。
谢谢
您需要根据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 文档,或使用XDocument
的Save
方法将其保存在 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 文档。 关注: 如何在 C# 中构建 XML? 以及如何更改 XML 属性
在这里阅读: XDocument 或 XmlDocument
我不会从那里复制代码。 创建 XML 文档时您需要了解的所有基础知识都在此处得到了很好的解释。
有两种选择,我个人会用XDocument go。
我知道这个答案中没有代码,但是由于您没有尝试过任何东西,甚至没有明显地搜索 Google(相信我,您会找到它),我宁愿为您指出正确的方向,而不是“给您鱼” .
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.