XPathNavigator.InsertElementBefore(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 önce yeni bir eşdüzey öğe oluşturur.

public:
 virtual void InsertElementBefore(System::String ^ prefix, System::String ^ localName, System::String ^ namespaceURI, System::String ^ value);
public virtual void InsertElementBefore (string prefix, string localName, string namespaceURI, string value);
public virtual void InsertElementBefore (string? prefix, string localName, string? namespaceURI, string? value);
abstract member InsertElementBefore : string * string * string * string -> unit
override this.InsertElementBefore : string * string * string * string -> unit
Public Overridable Sub InsertElementBefore (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'sini (varsa). Empty ve null eşdeğerdir.

value
String

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

Özel durumlar

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

düzenlemeyi XPathNavigator desteklemez.

Örnekler

Aşağıdaki örnekte, dosyadaki price ilk book öğenin alt öğesinden önce 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->InsertElementBefore(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.InsertElementBefore(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.InsertElementBefore(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.InsertElementBefore(navigator.Prefix, "pages", LookupNamespaceURI(navigator.Prefix), String.Empty)  

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

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

  • 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.

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

  • InsertElementBefore yöntemi, konumunu XPathNavigatoretkilemez.

Şunlara uygulanır