【发布时间】:2014-01-19 08:23:44
【问题描述】:
我编写了用于添加条目、编辑不同元素等的代码,但我很难找到在我的 XML 文件中删除条目的最佳方法。这并不是因为缺乏研究。理想情况下,我想将用户名传递到过程中并在 XML 文件中查询用户名,然后删除 userPc、userName 和登录日期。计划是在表单关闭时运行该程序。你能帮我写一下这个方法吗?
XML
<?xml version="1.0" encoding="utf-8"?>
<user>
<user>
<userPC>assetTagNumber</userPC>
<userName>userName</userName>
<signInDate>01/01/2014 01:00:00</signInDate>
</user>
<user>
<userPC>assetTagNumber2</userPC>
<userName>userName2</userName>
<signInDate>01/01/2014 01:00:01</signInDate>
</user>
</user>
这是我目前的loginClass:
Public Class loginClass
Dim xmlCheckInFilePath As String = "\\itfs1\help_share$\ITCSToolBoxAdmin\AppAdmin\User_CheckIn\user.xml"
Dim asset As String = Environment.MachineName
Dim user As String = Environment.UserName
Dim signInDate As String = DateTime.Now
Public Sub loginToXmlFile()
Try
runDupeCheckQuery()
Catch ex As Exception
MessageBox.Show("Unable to run DupeCheckQuery in login class.", "loginClass", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
Private Sub runDupeCheckQuery()
Dim doc As XDocument = XDocument.Load(xmlCheckInFilePath)
Dim appQuery = _
From c In doc.<user>.<user> _
Select c.<userName>
For Each result In appQuery
If result.Value = user Then
Exit Sub
End If
Next
addEntry()
End Sub
Private Sub addEntry()
Dim doc As XDocument = XDocument.Load(xmlCheckInFilePath)
Dim newEntry As XElement = _
<user>
<userPC><%= asset %></userPC>
<userName><%= user %></userName>
<signInDate><%= signInDate %></signInDate>
</user>
doc.Root.Add(newEntry)
doc.Save(xmlCheckInFilePath)
End Sub
Public Sub removeEntry()
End Sub
End Class
【问题讨论】:
-
我们可以帮助您编写方法,但您必须先展示您自己能够编写的内容。
-
当然。我将添加登录类。
-
我已经添加了登录类。除了删除之外,我对使用 LINQ&XML 感到满意。我绝对不希望有人只为我写代码,我需要了解如何去做。