[英]Loop Through Specific XML Node and Update VB.NET
我有一些格式如下的 XML:
<PolicyInput>
<Header>
....
</Header>
<Policies>
<Policy>
<PolicyRecordNumber>1</PolicyRecordNumber>
<PCAdjustment>
....
</PCAdjustment>
</Policy>
<Policy>
<PolicyRecordNumber>1</PolicyRecordNumber>
<PCAdjustment>
....
</PCAdjustment>
</Policy>
<Policy>
<PolicyRecordNumber>1</PolicyRecordNumber>
<PCNewBusiness>
....
</PCNewBusiness>
</Policy>
</Policies>
<Trailer>
<PolicyRecordCount>1</PolicyRecordCount>
</Trailer>
</PolicyInput>
我希望遍历并更新For Each
语句中的每个PolicyRecordNumber
元素,然后使用最终的PolicyRecordNumber
值更新最终的PolicyRecordCount
元素。 所以,基本上,我将用1
、 2
、 3
、 4
、 5
更新每个PolicyRecordNumber
,然后5
将是我的PolicyRecordCount
最后。
我将如何使用 VB.NET 执行此操作,因为此时 XML 已在应用程序中形成。
使用 xelement 您可以单独迭代 PolicyRecordNumber。 这是一个测试。 第一部分展示了如何读取和/或使用 xelement 文字进行测试。 最后,代码显示了如何实现您的目标。
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
'Dim yourpath As String = Environment.GetFolderPath(Environment.SpecialFolder.Desktop)
'yourpath = IO.Path.Combine(yourpath, "test.xml")
Dim xe As XElement
' to load from a file
'xe = XElement.Load(yourpath)
' for testing
xe = <PolicyInput>
<Header>
<!-- ... -->
</Header>
<Policies>
<Policy>
<PolicyRecordNumber>1</PolicyRecordNumber>
<PCAdjustment>
<!-- ... -->
</PCAdjustment>
</Policy>
<Policy>
<PolicyRecordNumber>1</PolicyRecordNumber>
<PCAdjustment>
<!-- ... -->
</PCAdjustment>
</Policy>
<Policy>
<PolicyRecordNumber>1</PolicyRecordNumber>
<PCNewBusiness>
<!-- ... -->
</PCNewBusiness>
</Policy>
</Policies>
<Trailer>
<PolicyRecordCount>1</PolicyRecordCount>
</Trailer>
</PolicyInput>
Dim prn As Integer = 1
For Each el As XElement In xe...<PolicyRecordNumber>
el.Value = prn.ToString
prn += 1
Next
prn -= 1
xe.<Trailer>.<PolicyRecordCount>.Value = prn.ToString
' to save file
' xe.Save(yourpath)
End Sub
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.