![](/img/trans.png)
[英]How to append text to the richTextBox from another class in C# Winform?
[英]How to insert string from Richtextbox into XML File in C# Winform
我將xml代碼放入RichTextBox
並且用戶可以在程序運行時在此處進行更改。 我想在創建過程中將RichTextBox
的內容保存在xml文件中。
注意:我已經在創建一個xml文件。 我想在創建過程中將RichTextBox
的內容保存到xml文件中。
saveFileDialog1.Filter = "XML files(.xml)|*.xml|all Files(*.*)|*.*";
saveFileDialog1.FilterIndex = 1;
saveFileDialog1.ShowDialog();
if (saveFileDialog1.FileName != "")
{
gridView1.AddNewRow();
XmlDocument document = new XmlDocument();
XmlElement anaeleman = document.CreateElement("onbase-certificate");
//i want to do it here
TextWriter yaz = new StreamWriter(saveFileDialog1.FileName,true);
yaz.Write(f2.richTextBox1.Text);
yaz.Close();
XmlElement alteleman = document.CreateElement("licences");
for (int i = 0; i < Convert.ToInt32(gridView1.DataRowCount); i++)
{
XmlElement elemanlar = document.CreateElement("licence");
XmlElement eleman = document.CreateElement("name");
eleman.InnerText = "![CDATA[" + gridView1.GetRowCellValue(i, "productname").ToString() + "]";
elemanlar.AppendChild(eleman);
eleman = document.CreateElement("code");
eleman.SetAttribute("sig", "1");
eleman.InnerText = gridView1.GetRowCellValue(i, "producttype").ToString();
elemanlar.AppendChild(eleman);
eleman = document.CreateElement("count");
eleman.InnerText = gridView1.GetRowCellValue(i, "count").ToString();
eleman.SetAttribute("sig", "1");
elemanlar.AppendChild(eleman);
if (gridView1.GetRowCellValue(i, "pilotdate").ToString() != "")
{
eleman = document.CreateElement("pilotdate");
eleman.InnerText = gridView1.GetRowCellValue(i, "pilotdate").ToString();
eleman.SetAttribute("sig", "1");
elemanlar.AppendChild(eleman);
}
alteleman.AppendChild(elemanlar);
}
//anaeleman.AppendChild(alteleman);
anaeleman.AppendChild(alteleman);
document.AppendChild(anaeleman);
document.Save(saveFileDialog1.FileName);
}
可以使用普通的StringBuilder
來代替XmlDocument。
var builder = new StringBuilder();
builder.AppendLine("<onbase-certificate>");
builder.AppendLine(f2.richTextBox1.Text);
builder.AppendLine("<licenses>");
for (int i = 0; i < Convert.ToInt32(gridView1.DataRowCount); i++)
{
builder.AppendLine("<license>");
builder.AppendLine("<name>![CDATA[" + gridView1.GetRowCellValue(i, "productname").ToString() + "]</name>");
builder.AppendLine("<code sig=\"1\">");
builder.AppendLine(gridView1.GetRowCellValue(i, "count").ToString(););
builder.AppendLine("</code>");
// ...
builder.AppendLine("</license>");
}
builder.AppendLine("</licenses>");
builder.AppendLine("</onbase-certificate>");
File.WriteAllText(saveFileDialog1.FileName, builder.ToString());
我不確定您要做什么。 您是否要將文本從richtextbox保存到xml元素anaeleman? 如果是,您是否嘗試過此方法?
anaeleman.InnerText = f2.richTextBox1.Text
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.