Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Visual Basic biedt handige manieren om letterlijke XML-gegevens te wijzigen. U kunt elementen en kenmerken toevoegen of verwijderen en u kunt ook een bestaand element vervangen door een nieuw XML-element. In dit onderwerp vindt u verschillende voorbeelden van het wijzigen van een bestaande LETTERLIJKE XML-code.
De waarde van een letterlijke XML-waarde wijzigen
Als u de waarde van een letterlijke XML-waarde wilt wijzigen, haalt u een verwijzing naar de XML-letterlijke waarde op en stelt u de
Valueeigenschap in op de gewenste waarde.In het volgende codevoorbeeld wordt de waarde van alle
<Price>elementen in een XML-document bijgewerkt.For Each book In From element In catalog.<Catalog>.<Book> book.<Price>.Value = (book.<Price>.Value * 1.05).ToString("#.00") NextHieronder ziet u voorbeeld van de bron-XML en het gewijzigde XML-bestand uit dit codevoorbeeld.
Bron-XML:
<?xml version="1.0"?> <Catalog> <Book id="bk101"> <Author>Garghentini, Davide</Author> <Title>XML Developer's Guide</Title> <Price>44.95</Price> </Book> <Book id="bk331"> <Author>Spencer, Phil</Author> <Title>Developing Applications with Visual Basic .NET</Title> <Price>45.95</Price> </Book> </Catalog>Gewijzigde XML:
<?xml version="1.0"?> <Catalog> <Book id="bk101"> <Author>Garghentini, Davide</Author> <Title>XML Developer's Guide</Title> <Price>47.20</Price> </Book> <Book id="bk331"> <Author>Spencer, Phil</Author> <Title>Developing Applications with Visual Basic .NET</Title> <Price>48.25</Price> </Book> </Catalog>Opmerking
De
Valueeigenschap verwijst naar het eerste XML-element in een verzameling. Als er meer dan één element met dezelfde naam in een verzameling is, is het instellen van deValueeigenschap alleen van invloed op het eerste element in de verzameling.
Een attribuut toevoegen aan een letterlijke XML-waarde
Als u een kenmerk wilt toevoegen aan een letterlijke XML-waarde, moet u eerst een verwijzing naar de letterlijke XML-waarde verkrijgen. U kunt vervolgens een kenmerk toevoegen door een nieuwe eigenschap van de XML-kenmerkas toe te voegen. U kunt ook een nieuw XAttribute object toevoegen aan de XML literal door de Add methode te gebruiken. In het volgende voorbeeld ziet u beide opties.
Dim newAttribute = "editorEmail" Dim editorID = "someone@example.com" For Each book In From element In catalog.<Catalog>.<Book> ' Add an attribute by using an XML attribute axis property. book.@genre = "Computer" ' Add an attribute to the Attributes collection. book.Add(New XAttribute(newAttribute, editorID)) NextHieronder ziet u voorbeeld van de bron-XML en het gewijzigde XML-bestand uit dit codevoorbeeld.
Bron-XML:
<?xml version="1.0"?> <Catalog> <Book id="bk101" > <Author>Garghentini, Davide</Author> <Title>XML Developer's Guide</Title> <Price>44.95</Price> </Book> <Book id="bk331"> <Author>Spencer, Phil</Author> <Title>Developing Applications with Visual Basic .NET</Title> <Price>45.95</Price> </Book> </Catalog>Gewijzigde XML:
<?xml version="1.0"?> <Catalog> <Book id="bk101" genre="Computer" editorEmail="someone@example.com"> <Author>Garghentini, Davide</Author> <Title>XML Developer's Guide</Title> <Price>44.95</Price> </Book> <Book id="bk331" genre="Computer" editorEmail="someone@example.com"> <Author>Spencer, Phil</Author> <Title>Developing Applications with Visual Basic .NET</Title> <Price>45.95</Price> </Book> </Catalog>Voor meer informatie over de eigenschappen van de XML-kenmerkas, zie XML Eigenschap van de Kenmerkas.
Een element toevoegen aan een letterlijke XML-code
Als u een element wilt toevoegen aan een letterlijke XML-waarde, moet u eerst een verwijzing naar de letterlijke XML-waarde verkrijgen. Vervolgens kunt u een nieuw XElement object toevoegen als het laatste subelement van het element met behulp van de Add methode. U kunt een nieuw XElement object toevoegen als het eerste subelement met behulp van de AddFirst methode.
Als u een nieuw element wilt toevoegen op een specifieke locatie ten opzichte van andere subelementen, moet u eerst een verwijzing naar een aangrenzend subelement verkrijgen. Vervolgens kunt u het nieuwe XElement object vóór het aangrenzende subelement toevoegen met behulp van de AddBeforeSelf methode. U kunt het nieuwe XElement object ook toevoegen na het aangrenzende subelement met behulp van de AddAfterSelf methode.
In het volgende voorbeeld ziet u voorbeelden van elk van deze technieken.
Dim vbBook = From book In catalog.<Catalog>.<Book> Where book.<Title>.Value = "Developing Applications with Visual Basic .NET" vbBook(0).AddFirst(<Publisher>Microsoft Press</Publisher>) vbBook(0).Add(<PublishDate>2005-2-14</PublishDate>) vbBook(0).AddAfterSelf(<Book id="bk999"></Book>) vbBook(0).AddBeforeSelf(<Book id="bk000"></Book>)Hieronder ziet u voorbeeld van de bron-XML en het gewijzigde XML-bestand uit dit codevoorbeeld.
Bron-XML:
<?xml version="1.0"?> <Catalog> <Book id="bk101" > <Author>Garghentini, Davide</Author> <Title>XML Developer's Guide</Title> <Price>44.95</Price> </Book> <Book id="bk331"> <Author>Spencer, Phil</Author> <Title>Developing Applications with Visual Basic .NET</Title> <Price>45.95</Price> </Book> </Catalog>Gewijzigde XML:
<?xml version="1.0"?> <Catalog> <Book id="bk101" > <Author>Garghentini, Davide</Author> <Title>XML Developer's Guide</Title> <Price>44.95</Price> </Book> <Book id="bk000"></Book> <Book id="bk331"> <Publisher>Microsoft Press</Publisher> <Author>Spencer, Phil</Author> <Title>Developing Applications with Visual Basic .NET</Title> <Price>45.95</Price> <PublishDate>2005-2-14</PublishDate> </Book> <Book id="bk999"></Book> </Catalog>
Een element of attribuut verwijderen uit een XML-literal
Als u een element of kenmerk uit een letterlijke XML-waarde wilt verwijderen, haalt u een verwijzing naar het element of kenmerk op en roept u de
Removemethode aan, zoals wordt weergegeven in het volgende voorbeeld.For Each book In From element In catalog.<Catalog>.<Book> book.Attributes("genre").Remove() Next For Each book In From element In catalog.<Catalog>.<Book> Where element.@id = "bk999" book.Remove() NextHieronder ziet u voorbeeld van de bron-XML en het gewijzigde XML-bestand uit dit codevoorbeeld.
Bron-XML:
<?xml version="1.0"?> <Catalog> <Book id="bk101" genre="Computer" editorEmail="someone@example.com"> <Author>Garghentini, Davide</Author> <Title>XML Developer's Guide</Title> <Price>44.95</Price> </Book> <Book id="bk000"></Book> <Book id="bk331" genre="Computer" editorEmail="someone@example.com"> <Author>Spencer, Phil</Author> <Title>Developing Applications with Visual Basic .NET</Title> <Price>45.95</Price> </Book> <Book id="bk999"></Book> </Catalog>Gewijzigde XML:
<?xml version="1.0"?> <Catalog> <Book id="bk101" editorEmail="someone@example.com"> <Author>Garghentini, Davide</Author> <Title>XML Developer's Guide</Title> <Price>44.95</Price> </Book> <Book id="bk000"></Book> <Book id="bk331" editorEmail="someone@example.com"> <Author>Spencer, Phil</Author> <Title>Developing Applications with Visual Basic .NET</Title> <Price>45.95</Price> </Book></Catalog>Als u alle elementen of kenmerken uit een letterlijke XML-waarde wilt verwijderen, haalt u een verwijzing naar de letterlijke XML-waarde op en roept u de RemoveAll methode aan.
Een letterlijke XML-indeling wijzigen
Als u de naam van een XML-element wilt wijzigen, haalt u eerst een verwijzing naar het element op. Vervolgens kunt u een nieuw XElement object met een nieuwe naam maken en het nieuwe XElement object doorgeven aan de ReplaceWith methode van het bestaande XElement object.
Als het element dat u vervangt subelementen bevat die moeten worden behouden, stelt u de waarde van het nieuwe XElement object in op de Nodes eigenschap van het bestaande element. Hiermee wordt de waarde van het nieuwe element ingesteld op de interne XML van het bestaande element. Anders kunt u de waarde van het nieuwe element instellen op de
Valueeigenschap van het bestaande element.In het volgende codevoorbeeld worden alle
<Description>elementen vervangen door een<Abstract>element. De inhoud van het<Description>element blijft behouden in het nieuwe<Abstract>element met behulp van de Nodes eigenschap van het<Description>XElement object.For Each desc In From element In catalog.<Catalog>.<Book>.<Description> ' Replace and preserve inner XML. desc.ReplaceWith(<Abstract><%= desc.Nodes %></Abstract>) Next For Each price In From element In catalog.<Catalog>.<Book>.<Price> ' Replace with text value. price.ReplaceWith(<MSRP><%= price.Value %></MSRP>) NextHieronder ziet u voorbeeld van de bron-XML en het gewijzigde XML-bestand uit dit codevoorbeeld.
Bron-XML:
<?xml version="1.0"?> <Catalog> <Book id="bk101"> <Author>Garghentini, Davide</Author> <Title>XML Developer's Guide</Title> <Price>44.95</Price> <Description> An in-depth look at creating applications with <technology>XML</technology>. For <audience>beginners</audience> or <audience>advanced</audience> developers. </Description> </Book> <Book id="bk331"> <Author>Spencer, Phil</Author> <Title>Developing Applications with Visual Basic .NET</Title> <Price>45.95</Price> <Description> Get the expert insights, practical code samples, and best practices you need to advance your expertise with <technology>Visual Basic .NET</technology>. Learn how to create faster, more reliable applications based on professional, pragmatic guidance by today's top <audience>developers</audience>. </Description> </Book> </Catalog>Gewijzigde XML:
<?xml version="1.0"?> <Catalog> <Book id="bk101"> <Author>Garghentini, Davide</Author> <Title>XML Developer's Guide</Title> <MSRP>44.95</MSRP> <Abstract> An in-depth look at creating applications with <technology>XML</technology>. For <audience>beginners</audience> or <audience>advanced</audience> developers. </Abstract> </Book> <Book id="bk331"> <Author>Spencer, Phil</Author> <Title>Developing Applications with Visual Basic .NET</Title> <MSRP>45.95</MSRP> <Abstract> Get the expert insights, practical code samples, and best practices you need to advance your expertise with <technology>Visual Basic .NET</technology>. Learn how to create faster, more reliable applications based on professional, pragmatic guidance by today's top <audience>developers</audience>. </Abstract> </Book> </Catalog>