我刚开始使用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。
任何帮助都将不胜感激。
由于
答案 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。
我知道这个答案中没有代码,但是因为你没有尝试任何东西,甚至没有显然搜索谷歌(相信我,你会发现它),我宁愿指出你正确的方向而不是“给你鱼“。