Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A Visual Basic kényelmes módot kínál az XML-literálok módosítására. Elemeket és attribútumokat adhat hozzá vagy törölhet, valamint lecserélhet egy meglévő elemet egy új XML-elemre is. Ez a témakör számos példát mutat be egy meglévő XML-literál módosítására.
XML-literál értékének módosítása
Egy XML-literál értékének módosításához szerezze be az XML-literálra mutató hivatkozást, és állítsa a
Valuetulajdonságot a kívánt értékre.Az alábbi példakód egy XML-dokumentum összes
<Price>elemének értékét frissíti.For Each book In From element In catalog.<Catalog>.<Book> book.<Price>.Value = (book.<Price>.Value * 1.05).ToString("#.00") NextAz alábbiakban a mintaforrás XML-fájlját és a kód példájából módosított XML-t mutatjuk be.
Forrás 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>Módosított 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>Megjegyzés:
A
Valuetulajdonság a gyűjtemény első XML-elemére hivatkozik. Ha egy gyűjteményben több elem is azonos nevű, aValuetulajdonság beállítása csak a gyűjtemény első elemére vonatkozik.
Attribútum hozzáadása XML-literálhoz
Ha attribútumot szeretne hozzáadni egy XML-literálhoz, először szerezze be az XML-literálra mutató hivatkozást. Ezután hozzáadhat egy attribútumot egy új XML-attribútumtengely-tulajdonság hozzáadásával. Új XAttribute objektumot is hozzáadhat az XML-literálhoz a Add metódus használatával. Az alábbi példában mindkét lehetőség látható.
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)) NextAz alábbiakban a mintaforrás XML-fájlját és a kód példájából módosított XML-t mutatjuk be.
Forrás 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>Módosított 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>Az XML-attribútumtengely tulajdonságairól további információt az XML attribútumtengely tulajdonságában talál.
Egy elem hozzáadása XML-literálhoz
Ha elemet szeretne hozzáadni egy XML-literálhoz, először szerezze be az XML-literálra mutató hivatkozást. Azt követően hozzáadhat egy új XElement objektumot az elem utolsó alelemeként a Add metódus segítségével. Metódusával XElement új AddFirst objektumot adhat hozzá, mint első alelem.
Ha új elemet szeretne hozzáadni egy adott helyhez más alelemekhez képest, először kérjen egy hivatkozást egy szomszédos alelemre. A XElement metódussal ezután az új AddBeforeSelf objektumot a szomszédos alelem elé helyezheti. Az új XElement objektumot a szomszédos alelem után is hozzáadhatja a AddAfterSelf metódus használatával.
Az alábbi példa példákat mutat be ezekre a technikákra.
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>)Az alábbiakban a mintaforrás XML-fájlját és a kód példájából módosított XML-t mutatjuk be.
Forrás 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>Módosított 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>
Elem vagy attribútum eltávolítása XML-literálból
Ha el szeretne távolítani egy elemet vagy attribútumot egy XML-literálból, szerezze be az elemre vagy attribútumra mutató hivatkozást, és hívja meg a
Removemetódust az alábbi példában látható módon.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() NextAz alábbiakban a mintaforrás XML-fájlját és a kód példájából módosított XML-t mutatjuk be.
Forrás 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>Módosított 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>Ha el szeretné távolítani az összes elemet vagy attribútumot egy XML-literálból, szerezze be az XML-literálra mutató hivatkozást, és hívja meg a metódust RemoveAll .
XML-literál módosítása
Egy XML-elem nevének módosításához először szerezze be az elemre mutató hivatkozást. Ezután létrehozhat egy új XElement , új nevű objektumot, és átadhatja az új XElement objektumot a ReplaceWith meglévő XElement objektum metódusának.
Ha a lecserélt elemnek vannak olyan alelemei, amelyeket meg kell őrizni, állítsa az új XElement objektum értékét a Nodes meglévő elem tulajdonságára. Ezzel az új elem értékét a meglévő elem belső XML-fájljára állítja. Ellenkező esetben az új elem
Valueértékét a meglévő elem tulajdonságára állíthatja.Az alábbi példakód az összes
<Description>elemet egy<Abstract>elemre cseréli. Az elem tartalma az<Description>objektum tulajdonságának használatával megmarad az<Abstract>Nodes<Description>új XElement elemben.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>) NextAz alábbiakban a mintaforrás XML-fájlját és a kód példájából módosított XML-t mutatjuk be.
Forrás 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>Módosított 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>