XML Reader 变量 VB.NET
XML Reader Variables VB.NET
正在开发基本文件和文本的管理程序。
现在,到目前为止,程序正在将来自多个文本框的信息正确保存到一个 .xml 文件中。
我的问题是我需要将保存的文件加载回文本框。
这里是another thread I made to Microsoft explaining my issue;
对,所以我目前拥有和使用的代码;
Private Sub Objectlist1_ItemActivate(sender As Object, e As EventArgs) Handles Objectlist1.ItemActivate
Caseworker.Show()
Me.Objectlist1.MultiSelect = False
Dim selectedListViewItem As String
selectedListViewItem = Me.Objectlist1.SelectedItems.Item(0).ToString
If (IO.File.Exists(selectedListViewItem + "C:\Users\USER\Desktop\Testfolder-data")) Then
Dim document As XmlReader = New XmlTextReader(selectedListViewItem + "C:\Users\USER\Desktop\Testfolder-data")
While (document.Read())
Dim type = document.NodeType
If (type = XmlNodeType.Element) Then
If (document.Name = "Person") Then
Caseworker.Pholderbox.Text = document.ReadInnerXml.ToString()
End If
If (document.Name = "Driver") Then
Caseworker.Driverbox.Text = document.ReadInnerXml.ToString()
这里的问题是我希望能够在列表视图中单击一个名为 "Objectlist1" 的文件,然后程序加载 xml 文件 - 而不是将程序定向到一个文件
如此
If (IO.File.Exists("MyXML.xml")) Then
Dim document As XmlReader = New XmlTextReader("MyXML.xml)
显然有这个变量可以完美解决我的问题,但我已经查找了 2 个工作日,但未能找到它。
如果我需要添加其他东西才能使它正常工作,非常感谢您提供的任何帮助。
伙计们,我离这里很远吗?
几件事:
您需要 XMLFile 的完整路径,而不仅仅是它的名称。你可以这样做(警告:未经测试):
const string basepath= @"C:\Users\USER\Desktop\Testfolder-data"
xmlpath = IO.Path.Combine(basepath, Objectlist1.SelectedItems.Item(0).Text)
If(IO.File.Exists(xmlpath))
我推荐
而不是多个 Ifs
switch(document.Name)
{
Case "Person":
Caseworker.Pholderbox.Text=...
break;
Case "Driver":
...
}
如果将 "Pholderbox" 重命名为 "Personbox",则可以节省整个 If/switch,只需执行以下操作即可:
var textbox = document.name + "box";
(TextBox)Caseworker.Controls[textbox].Text=document.InnerText;
希望这能让你继续前进。
正在开发基本文件和文本的管理程序。
现在,到目前为止,程序正在将来自多个文本框的信息正确保存到一个 .xml 文件中。
我的问题是我需要将保存的文件加载回文本框。 这里是another thread I made to Microsoft explaining my issue;
对,所以我目前拥有和使用的代码;
Private Sub Objectlist1_ItemActivate(sender As Object, e As EventArgs) Handles Objectlist1.ItemActivate
Caseworker.Show()
Me.Objectlist1.MultiSelect = False
Dim selectedListViewItem As String
selectedListViewItem = Me.Objectlist1.SelectedItems.Item(0).ToString
If (IO.File.Exists(selectedListViewItem + "C:\Users\USER\Desktop\Testfolder-data")) Then
Dim document As XmlReader = New XmlTextReader(selectedListViewItem + "C:\Users\USER\Desktop\Testfolder-data")
While (document.Read())
Dim type = document.NodeType
If (type = XmlNodeType.Element) Then
If (document.Name = "Person") Then
Caseworker.Pholderbox.Text = document.ReadInnerXml.ToString()
End If
If (document.Name = "Driver") Then
Caseworker.Driverbox.Text = document.ReadInnerXml.ToString()
这里的问题是我希望能够在列表视图中单击一个名为 "Objectlist1" 的文件,然后程序加载 xml 文件 - 而不是将程序定向到一个文件
如此
If (IO.File.Exists("MyXML.xml")) Then
Dim document As XmlReader = New XmlTextReader("MyXML.xml)
显然有这个变量可以完美解决我的问题,但我已经查找了 2 个工作日,但未能找到它。
如果我需要添加其他东西才能使它正常工作,非常感谢您提供的任何帮助。
伙计们,我离这里很远吗?
几件事:
您需要 XMLFile 的完整路径,而不仅仅是它的名称。你可以这样做(警告:未经测试):
const string basepath= @"C:\Users\USER\Desktop\Testfolder-data"
xmlpath = IO.Path.Combine(basepath, Objectlist1.SelectedItems.Item(0).Text)
If(IO.File.Exists(xmlpath))
我推荐
而不是多个 Ifsswitch(document.Name)
{
Case "Person":
Caseworker.Pholderbox.Text=...
break;
Case "Driver":
...
}
如果将 "Pholderbox" 重命名为 "Personbox",则可以节省整个 If/switch,只需执行以下操作即可:
var textbox = document.name + "box";
(TextBox)Caseworker.Controls[textbox].Text=document.InnerText;
希望这能让你继续前进。