Aracılığıyla paylaş


Nasıl yapılır: XML Değişmez Değerlerini Değiştirme (Visual Basic)

Visual Basic, XML değişmez değerlerini değiştirmek için kullanışlı yollar sağlar. Öğeleri ve öznitelikleri ekleyebilir veya silebilir ve var olan bir öğeyi yeni bir XML öğesiyle de değiştirebilirsiniz. Bu konu, var olan bir XML değişmez değerinin nasıl değiştirileceğine yönelik çeşitli örnekler sağlar.

XML değişmez değerini değiştirmek için

  1. XML değişmez değerini değiştirmek için, XML değişmez değerine bir başvuru alın ve özelliğini istenen değere ayarlayın Value .

    Aşağıdaki kod örneği, bir XML belgesindeki tüm Price> öğelerinin <değerini güncelleştirir.

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

    Aşağıda, bu kod örneğinden örnek kaynak XML ve değiştirilmiş XML gösterilmektedir.

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

    Değiştirilen 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>
    

    Not

    özelliği, Value bir koleksiyondaki ilk XML öğesine başvurur. Bir koleksiyonda aynı ada sahip birden fazla öğe varsa, özelliğini ayarlamak Value yalnızca koleksiyondaki ilk öğeyi etkiler.

XML değişmez değerine öznitelik eklemek için

  1. XML değişmez değerine öznitelik eklemek için önce XML değişmez değerine bir başvuru alın. Daha sonra yeni bir XML öznitelik ekseni özelliği ekleyerek bir öznitelik ekleyebilirsiniz. Yöntemini kullanarak Add XML değişmez değerine yeni XAttribute bir nesne de ekleyebilirsiniz. Aşağıdaki örnekte her iki seçenek de gösterilmektedir.

    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
    

    Aşağıda, bu kod örneğinden örnek kaynak XML ve değiştirilmiş XML gösterilmektedir.

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

    Değiştirilen 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>
    

    XML öznitelik ekseni özellikleri hakkında daha fazla bilgi için bkz . XML Öznitelik Ekseni Özelliği.

XML değişmez değerine öğe eklemek için

  1. XML değişmez değerine öğe eklemek için önce XML değişmez değerine bir başvuru alın. Ardından yöntemini kullanarak Add öğesinin son alt öğesi olarak yeni XElement bir nesne ekleyebilirsiniz. yöntemini kullanarak AddFirst ilk alt öğe olarak yeni XElement bir nesne ekleyebilirsiniz.

    Diğer alt öğelere göre belirli bir konuma yeni bir öğe eklemek için, önce bitişik bir alt öğeye başvuru alın. Ardından yöntemini kullanarak yeni XElement nesneyi bitişik alt öğeden AddBeforeSelf önce ekleyebilirsiniz. Yöntemini kullanarak yeni XElement nesneyi bitişik alt öğeden AddAfterSelf sonra da ekleyebilirsiniz.

    Aşağıdaki örnekte bu tekniklerin her birine ait örnekler gösterilmektedir.

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

    Aşağıda, bu kod örneğinden örnek kaynak XML ve değiştirilmiş XML gösterilmektedir.

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

    Değiştirilen 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>
    

XML değişmez değeri öğesinden veya özniteliğinden kaldırmak için

  1. Xml değişmez değerden bir öğeyi veya özniteliği kaldırmak için, öğeye veya özniteliğe bir başvuru alın ve aşağıdaki örnekte gösterildiği gibi yöntemini çağırın Remove .

    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
    

    Aşağıda, bu kod örneğinden örnek kaynak XML ve değiştirilmiş XML gösterilmektedir.

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

    Değiştirilen 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>
    

    Xml değişmez değerindeki tüm öğeleri veya öznitelikleri kaldırmak için, XML değişmez değerine bir başvuru alın ve yöntemini çağırın RemoveAll .

XML değişmez değerlerini değiştirmek için

  1. XML öğesinin adını değiştirmek için önce öğesine bir başvuru alın. Daha sonra yeni bir ada sahip yeni XElement bir nesne oluşturabilir ve yeni XElement nesneyi mevcut XElement nesnenin yöntemine ReplaceWith geçirebilirsiniz.

    Değiştirdiğiniz öğenin korunması gereken alt öğeleri varsa, yeni XElement nesnenin değerini mevcut öğenin özelliğine Nodes ayarlayın. Bu, yeni öğenin değerini var olan öğenin iç XML'sine ayarlar. Aksi takdirde, yeni öğenin değerini mevcut öğenin özelliğine Value ayarlayabilirsiniz.

    Aşağıdaki kod örneği, tüm <Description> öğelerini bir <Soyut> öğesiyle değiştirir. Description öğesinin <içeriği, DescriptionXElement>> nesnesinin özelliği kullanılarak Nodes yeni <Soyut> öğesinde <korunur.

    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
    

    Aşağıda, bu kod örneğinden örnek kaynak XML ve değiştirilmiş XML gösterilmektedir.

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

    Değiştirilen 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>
    

Ayrıca bkz.