Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Visual Basic poskytuje praktické způsoby úprav literálů XML. Můžete přidat nebo odstranit elementy a atributy a můžete také nahradit existující prvek novým elementem XML. Toto téma obsahuje několik příkladů, jak upravit existující literál XML.
Úprava hodnoty literálu XML
Chcete-li upravit hodnotu literálu XML, získejte odkaz na literál XML a nastavte
Valuevlastnost na požadovanou hodnotu.Následující příklad kódu aktualizuje hodnotu všech
<Price>prvků v dokumentu XML.For Each book In From element In catalog.<Catalog>.<Book> book.<Price>.Value = (book.<Price>.Value * 1.05).ToString("#.00") NextNásledující příklad ukazuje ukázkový zdrojový kód XML a upravený kód XML z tohoto příkladu kódu.
Zdrojový KÓD 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>Změněný KÓD 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>Poznámka:
Vlastnost
Valueodkazuje na první element XML v kolekci. Pokud existuje více než jeden prvek, který má stejný název v kolekci, nastaveníValuevlastnosti ovlivní pouze první prvek v kolekci.
Přidání atributu do literálu XML
Chcete-li přidat atribut do literálu XML, nejprve získejte odkaz na literál XML. Atribut pak můžete přidat přidáním nové vlastnosti osy atributů XML. Pomocí metody můžete také přidat nový XAttribute objekt do literálu Add XML. Následující příklad ukazuje obě možnosti.
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)) NextNásledující příklad ukazuje ukázkový zdrojový kód XML a upravený kód XML z tohoto příkladu kódu.
Zdrojový KÓD 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>Změněný KÓD 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>Další informace o vlastnostech osy atributů XML naleznete v tématu XML Attribute Axis Property.
Přidání elementu do literálu XML
Chcete-li přidat element do literálu XML, nejprve získejte odkaz na literál XML. Pak můžete přidat nový XElement objekt jako poslední dílčí prvek elementu pomocí Add metody. Pomocí metody můžete přidat nový XElement objekt jako první dílčí prvek AddFirst .
Pokud chcete přidat nový prvek do konkrétního umístění vzhledem k ostatním dílčím prvkům, nejprve získejte odkaz na sousední dílčí prvek. Pomocí metody pak můžete přidat nový XElement objekt před sousední dílčí prvek AddBeforeSelf . Pomocí metody můžete také přidat nový XElement objekt za sousední dílčí prvek AddAfterSelf .
Následující příklad ukazuje příklady každé z těchto technik.
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>)Následující příklad ukazuje ukázkový zdrojový kód XML a upravený kód XML z tohoto příkladu kódu.
Zdrojový KÓD 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>Změněný KÓD 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>
Odebrání elementu nebo atributu z literálu XML
Chcete-li odebrat prvek nebo atribut z literálu XML, získejte odkaz na element nebo atribut a zavolejte metodu
Remove, jak je znázorněno v následujícím příkladu.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() NextNásledující příklad ukazuje ukázkový zdrojový kód XML a upravený kód XML z tohoto příkladu kódu.
Zdrojový KÓD 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>Změněný KÓD 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>Chcete-li odebrat všechny elementy nebo atributy z literálu XML, získejte odkaz na literál XML a zavolejte metodu RemoveAll .
Jak upravit literál XML
Chcete-li změnit název elementu XML, nejprve získejte odkaz na element. Pak můžete vytvořit nový XElement objekt, který má nový název, a předat nový XElement objekt metodě ReplaceWith existujícího XElement objektu.
Pokud prvek, který nahrazujete, má dílčí prvky, které musí být zachovány, nastavte hodnotu nového XElement objektu Nodes na vlastnost existující prvek. Tím se nastaví hodnota nového elementu na vnitřní XML existujícího elementu. V opačném případě můžete nastavit hodnotu nového prvku na
Valuevlastnost existujícího elementu.Následující příklad kódu nahrazuje všechny
<Description>elementy elementem<Abstract>. Obsah elementu<Description>je zachován v novém<Abstract>prvku pomocí Nodes vlastnosti objektu<Description>XElement .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>) NextNásledující příklad ukazuje ukázkový zdrojový kód XML a upravený kód XML z tohoto příkladu kódu.
Zdrojový KÓD 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>Změněný KÓD 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>