0
一个新条目下面我有一个这样的XML,我想在另一个条目添加到它:插入XML
<?xml version="1.0" encoding="utf-8"?>
<CampaignRewardsVoucher>
<VoucherCode>Vouch001</VoucherCode>
<Quantity>3</Quantity>
</CampaignRewardsVoucher>
我有上面的XML,但我想Vouch001后添加Vouch002:
<VoucherCode>Vouch002</VoucherCode>
<Quantity>3</Quantity>
</CampaignRewardsVoucher>
下面我有它检查如果输入一个重复,并相应地更新代码,如果不是我想创建一个新的Vouch002项,请指点,谢谢:
'Create XmlWriterSettings
Dim settings As XmlWriterSettings = New XmlWriterSettings()
settings.Indent = True
If (Not File.Exists("D:\CampaignRewardsVoucher.xml")) Then
'Create XmlWriter
Using writer As XmlWriter = XmlWriter.Create("D:\CampaignRewardsVoucher.xml", settings)
'Begin write
writer.WriteStartDocument()
writer.WriteStartElement("CampaignRewardsVoucher")
writer.WriteElementString("VoucherCode", DropDownList1.SelectedValue)
writer.WriteElementString("Quantity", TextBox1.Text)
'End write
writer.WriteEndElement()
writer.WriteEndDocument()
End Using
Else
' file already exist, next check if input data already exist
Dim myXmlDocument As XmlDocument = New XmlDocument()
myXmlDocument.Load("D:\CampaignRewardsVoucher.xml")
Dim myXMLNode As XmlNode = myXmlDocument.SelectSingleNode("CampaignRewardsVoucher")
If myXMLNode IsNot Nothing And myXMLNode.ChildNodes(0).InnerText = DropDownList1.SelectedValue Then
myXMLNode.ChildNodes(1).InnerText = TextBox1.Text
myXmlDocument.Save("D:\CampaignRewardsVoucher.xml")
Else
'insert new node
'I need to insert Vouch002 here.
End If
End If
的SelectSingleNode总会选择第一CampaignRewardsVoucher所需的位置添加一个新的子节点。它不会看别人。这将导致XML中的数据重复 – evpo