使用VB.NET& LINQ;我正在写一个XML文件,我需要更新“点击次数”。我正在尝试创建一个函数,每当有人点击链接时,它会将元素appClick增加1。
<applications>
<app id="1">
<appName>Service Desk</appName>
<appLink>https://websiteurlhere.com</appLink>
<appFav>1</appFav>
<appClick>0</appClick>
</app>
</applications>
所以我有调用应用程序的子程序,它运行正常。但是缺乏增加appClick元素的能力。
Public Sub appCall(ByVal x As String) ' x = application name
Dim appQuery = _
From c In doc.<applications>.<app> _
Where c.<appName>.Value = x _
Select c.<appLink>
For Each result In appQuery
System.Diagnostics.Process.Start(result.Value)
Next
End Sub
如果可以改进代码,我也愿意就此提出建议。
答案 0 :(得分:1)
而不仅仅是Select c.<appLink>
,请执行Select c.<appClick>, c.<appLink>
。
然后你可以这样做:
For Each result In appQuery
result.appClick.Value += 1
System.Diagnostics.Process.Start(result.appLink.Value)
Next
在此之后不要忘记保存文档。
doc.Save("fileName")
以下是我用于测试的示例:
Public Sub appCall(ByVal x As String) ' x = application name
Dim doc = <applications>
<app id="1">
<appName>Service Desk</appName>
<appLink>https://websiteurlhere.com</appLink>
<appFav>1</appFav>
<appClick>0</appClick>
</app>
</applications>
Dim appQuery = _
From c In doc.<app> _
Where c.<appName>.Value = x _
Select c.<appClick>, c.<appLink>
For Each result In appQuery
result.appClick.Value += 1
Debug.WriteLine(result.appLink.Value)
Next
End Sub