XPathNavigator.InsertElementAfter(String, String, String, String) Yöntem

Tanım

Belirtilen değerle belirtilen ad alanı ön ekini, yerel adı ve ad alanı URI'sini kullanarak geçerli düğümden sonra yeni bir eşdüzey öğe oluşturur.

public:
 virtual void InsertElementAfter(System::String ^ prefix, System::String ^ localName, System::String ^ namespaceURI, System::String ^ value);
public virtual void InsertElementAfter (string prefix, string localName, string namespaceURI, string value);
public virtual void InsertElementAfter (string? prefix, string localName, string? namespaceURI, string? value);
abstract member InsertElementAfter : string * string * string * string -> unit
override this.InsertElementAfter : string * string * string * string -> unit
Public Overridable Sub InsertElementAfter (prefix As String, localName As String, namespaceURI As String, value As String)

Parametreler

prefix
String

Yeni alt öğenin ad alanı ön eki (varsa).

localName
String

Yeni alt öğenin yerel adı (varsa).

namespaceURI
String

Yeni alt öğenin ad alanı URI'si (varsa). Empty ve null eşdeğerdir.

value
String

Yeni alt öğenin değeri. veya null geçirilirse Empty boş bir öğe oluşturulur.

Özel durumlar

konumu XPathNavigator , geçerli düğümden sonra yeni bir eşdüzey düğümün eklenmesine izin vermez.

düzenlemeyi XPathNavigator desteklemiyor.

Örnekler

Aşağıdaki örnekte, dosyadaki price ilk book öğenin alt öğesinden sonra yeni pages bir öğe contosoBooks.xml eklenir.

XmlDocument^ document = gcnew XmlDocument();
document->Load("contosoBooks.xml");
XPathNavigator^ navigator = document->CreateNavigator();

navigator->MoveToChild("bookstore", "http://www.contoso.com/books");
navigator->MoveToChild("book", "http://www.contoso.com/books");
navigator->MoveToChild("price", "http://www.contoso.com/books");

navigator->InsertElementAfter(navigator->Prefix, "pages", navigator->LookupNamespace(navigator->Prefix), "100");

navigator->MoveToParent();
Console::WriteLine(navigator->OuterXml);
XmlDocument document = new XmlDocument();
document.Load("contosoBooks.xml");
XPathNavigator navigator = document.CreateNavigator();

navigator.MoveToChild("bookstore", "http://www.contoso.com/books");
navigator.MoveToChild("book", "http://www.contoso.com/books");
navigator.MoveToChild("price", "http://www.contoso.com/books");

navigator.InsertElementAfter(navigator.Prefix, "pages", navigator.LookupNamespace(navigator.Prefix), "100");

navigator.MoveToParent();
Console.WriteLine(navigator.OuterXml);
Dim document As XmlDocument = New XmlDocument()
document.Load("contosoBooks.xml")
Dim navigator As XPathNavigator = document.CreateNavigator()

navigator.MoveToChild("bookstore", "http://www.contoso.com/books")
navigator.MoveToChild("book", "http://www.contoso.com/books")
navigator.MoveToChild("price", "http://www.contoso.com/books")

navigator.InsertElementAfter(navigator.Prefix, "pages", navigator.LookupNamespace(navigator.Prefix), "100")

navigator.MoveToParent()
Console.WriteLine(navigator.OuterXml)

Örnek, dosyayı giriş olarak alır contosoBooks.xml .

<?xml version="1.0" encoding="utf-8" ?>  
<bookstore xmlns="http://www.contoso.com/books">  
    <book genre="autobiography" publicationdate="1981-03-22" ISBN="1-861003-11-0">  
        <title>The Autobiography of Benjamin Franklin</title>  
        <author>  
            <first-name>Benjamin</first-name>  
            <last-name>Franklin</last-name>  
        </author>  
        <price>8.99</price>  
    </book>  
    <book genre="novel" publicationdate="1967-11-17" ISBN="0-201-63361-2">  
        <title>The Confidence Man</title>  
        <author>  
            <first-name>Herman</first-name>  
            <last-name>Melville</last-name>  
        </author>  
        <price>11.99</price>  
    </book>  
    <book genre="philosophy" publicationdate="1991-02-15" ISBN="1-861001-57-6">  
        <title>The Gorgias</title>  
        <author>  
            <name>Plato</name>  
        </author>  
        <price>9.99</price>  
    </book>  
</bookstore>  

Açıklamalar

Ad alanı ön eki ve URI değerleri veya LookupNamespace yöntemi kullanılarak LookupPrefix alınabilir. Örneğin, aşağıdaki söz dizimi kapsam içi ad alanını xmlns:bk="http://www.contoso.com/books"kullanarak eşdüzey bir öğe ekler:

navigator.InsertElementAfter(navigator.Prefix, "pages", LookupNamespaceURI(navigator.Prefix), String.Empty)  

Bu, yeni eşdüzey <bk:pages/> öğeyi oluşturur.

Yöntemi kullanırken dikkate alınması gereken önemli notlar aşağıdadır InsertElementAfter .

  • Belirtilen ad alanı ön eki veya String.Emptyisenull, yeni öğenin ad alanı URI'sinin ön eki kapsam içindeki geçerli ad alanından alınır. Geçerli kapsamda belirtilen ad alanı URI'sine atanmış bir ad alanı ön eki yoksa, otomatik olarak bir ad alanı ön eki oluşturulur.

  • InsertElementAfter yöntemi yalnızca öğesi, metin, işleme yönergesi veya açıklama düğümünde konumlandırıldığında XPathNavigator geçerlidir.

  • InsertElementAfter yöntemi, konumunu XPathNavigatoretkilemez.

Şunlara uygulanır