我有一个包含 TextBox 和 RichTextBox 的表单。RichTextBox 包含用户要编辑的文本,而 TextBox 包含文本的描述性名称。我想将 RichTextBox 文本及其描述名称保存在 XML 文件中。我使用以下代码来执行此操作。
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button8.Click
Dim filename As String = "C:\Users\User\Desktop\Test.xml"
Dim doc As XDocument = Nothing
Dim RTBText As String = RichTextBox1.Text
Dim TextBoxText As String = TextBox1.Text
createNode(TextBoxText, RTBText, doc)
doc.Save(filename)
End Sub
Private Sub createNode(ByVal varname As String, ByVal varvalue As String, ByRef doc As XDocument)
Dim identification As String = "<?xml version=""1.0"" encoding=""utf-8"" standalone=""yes""?><Log></Log>"
doc = XDocument.Parse(identification)
Dim EntryData As XElement = doc.FirstNode
Dim EntryDate = System.DateTime.Today.ToString("ddMMyy")
Dim variables As New XElement("Entry", New Object() {
New XElement("EntryDescription", varname),
New XElement("EntryValue", varvalue),
New XElement("EntryDate", EntryDate)
})
EntryData.Add(variables)
End Sub
该代码生成以下 XML 文件。
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<Log>
<Entry>
<EntryDescription>This is the TextTextbox Text</EntryDescription>
<EntryValue>This is RTB Data</EntryValue>
<EntryDate>181024</EntryDate>
</Entry>
</Log>
该文件不会有超过几百个条目,这似乎没问题,但我不知道如何向文件添加其他条目。事实上,下一个条目只会覆盖现有条目。完成后,我需要能够搜索 XML 文件的描述性名称,然后检索附带的文本。请有人帮助我找到一个解决方案,使我能够添加其他条目。
我更喜欢使用 XElement 和 LINQ,
使用 XmlSerialization,
为您的数据定义一个模型。您可以传递日志条目对象,甚至是日志。
您可以调用同步版本
但这会在您的 UI 上运行(就像您现在所做的一样)。异步版本不会在读取和写入时冻结您的 UI。