Freigeben über


Vorgehensweise: Ändern von XML-Literalen (Visual Basic)

Visual Basic bietet praktische Möglichkeiten zum Ändern von XML-Literalen. Sie können Elemente und Attribute hinzufügen oder löschen, und Sie können auch ein vorhandenes Element durch ein neues XML-Element ersetzen. Dieses Thema enthält mehrere Beispiele, wie vorhandene XML-Literale modifiziert werden können.

So ändern Sie den Wert eines XML-Literals

  1. Um den Wert eines XML-Literals zu ändern, rufen Sie einen Verweis auf das XML-Literal ab, und legen Sie die Value Eigenschaft auf den gewünschten Wert fest.

    Im folgenden Codebeispiel wird der Wert aller <Price> Elemente in einem XML-Dokument aktualisiert.

    For Each book In From element In catalog.<Catalog>.<Book>
      book.<Price>.Value = (book.<Price>.Value * 1.05).ToString("#.00")
    Next
    

    Im Folgenden finden Sie Beispielquell-XML und geänderte XML aus diesem Codebeispiel.

    Quell-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>
    

    Geänderter XML-Code:

    <?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>
    

    Hinweis

    Die Value Eigenschaft bezieht sich auf das erste XML-Element in einer Auflistung. Wenn mehrere Elemente mit demselben Namen in einer Auflistung vorhanden sind, wirkt sich das Festlegen der Value Eigenschaft nur auf das erste Element in der Auflistung aus.

So fügen Sie einem XML-Literal ein Attribut hinzu

  1. Um einem XML-Literal ein Attribut hinzuzufügen, rufen Sie zuerst einen Verweis auf das XML-Literal ab. Anschließend können Sie ein Attribut hinzufügen, indem Sie die Achseneigenschaft eines XML-Attributs neu definieren. Sie können dem XML-Literal auch ein neues XAttribute Objekt hinzufügen, indem Sie die Add Methode verwenden. Das folgende Beispiel zeigt beide Optionen.

    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))
    Next
    

    Im Folgenden finden Sie Beispielquell-XML und geänderte XML aus diesem Codebeispiel.

    Quell-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>
    

    Geänderter XML-Code:

    <?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>
    

    Weitere Informationen zu XML-Attributachseneigenschaften finden Sie unter XML-Attributachseneigenschaft.

So fügen Sie einem XML-Literal ein Element hinzu

  1. Um einem XML-Literal ein Element hinzuzufügen, rufen Sie zuerst einen Verweis auf das XML-Literal ab. Anschließend können Sie ein neues XElement Objekt als letztes Unterelement des Elements mithilfe der Add Methode hinzufügen. Sie können ein neues XElement Objekt als erstes Unterelement mithilfe der AddFirst Methode hinzufügen.

    Um ein neues Element an einer bestimmten Position relativ zu anderen Unterelementen hinzuzufügen, rufen Sie zuerst einen Verweis auf ein angrenzendes Unterelement ab. Anschließend können Sie das neue XElement Objekt vor dem angrenzenden Unterelement mithilfe der AddBeforeSelf Methode hinzufügen. Sie können das neue XElement Objekt auch nach dem angrenzenden Unterelement mithilfe der AddAfterSelf Methode hinzufügen.

    Das folgende Beispiel zeigt Beispiele für jede dieser Techniken.

    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>)
    

    Im Folgenden finden Sie Beispielquell-XML und geänderte XML aus diesem Codebeispiel.

    Quell-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>
    

    Geänderter XML-Code:

    <?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>
    

So entfernen Sie ein Element oder Attribut aus einem XML-Literal

  1. Um ein Element oder ein Attribut aus einem XML-Literal zu entfernen, rufen Sie einen Verweis auf das Element oder Attribut ab, und rufen Sie die Remove Methode auf, wie im folgenden Beispiel gezeigt.

    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()
    Next
    

    Im Folgenden finden Sie Beispielquell-XML und geänderte XML aus diesem Codebeispiel.

    Quell-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>
    

    Geänderter XML-Code:

    <?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>
    

    Um alle Elemente oder Attribute aus einem XML-Literal zu entfernen, rufen Sie einen Verweis auf das XML-Literal ab, und rufen Sie die RemoveAll Methode auf.

So ändern Sie ein XML-Literal

  1. Um den Namen eines XML-Elements zu ändern, rufen Sie zuerst einen Verweis auf das Element ab. Anschließend können Sie ein neues XElement Objekt erstellen, das einen neuen Namen hat, und das neue XElement Objekt an die ReplaceWith Methode des vorhandenen XElement Objekts übergeben.

    Wenn das Element, das Sie ersetzen, Unterelemente aufweist, die beibehalten werden müssen, legen Sie den Wert des neuen XElement Objekts auf die Nodes Eigenschaft des vorhandenen Elements fest. Dadurch wird der Wert des neuen Elements auf das innere XML des vorhandenen Elements festgelegt. Andernfalls können Sie den Wert des neuen Elements auf die Value Eigenschaft des vorhandenen Elements festlegen.

    Im folgenden Codebeispiel werden alle <Description> Elemente durch ein <Abstract> Element ersetzt. Der Inhalt des <Description> Elements wird im neuen <Abstract> Element mithilfe der Nodes Eigenschaft des <Description>XElement Objekts beibehalten.

    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>)
    Next
    

    Im Folgenden finden Sie Beispielquell-XML und geänderte XML aus diesem Codebeispiel.

    Quell-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>
    

    Geänderter XML-Code:

    <?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>
    

Siehe auch