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

Tanım

Belirtilen ad alanı ön ekini, yerel adı ve ad alanı URI'sini belirtilen değerle 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'si (varsa). Empty ve null eşdeğerdir.

value
String

Yeni alt öğenin değeri. veya Empty geçirilirse null 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.

XPathNavigator düzenlemeyi desteklemiyor.

Örnekler

Aşağıdaki örnekte, pages dosyasındaki ilk price öğenin alt öğesi book önüne yeni bir contosoBooks.xml öğesi eklenir.

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, contosoBooks.xml dosyasını giriş olarak alır.

<?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 LookupPrefix yöntemi kullanılarak LookupNamespace elde edilebilir. Ö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ırken dikkate alınması gereken önemli notlar aşağıdadır InsertElementBefore .

  • Belirtilen ad alanı öneki veya nulliseString.Empty, 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 öğesinde, metinde, işleme yönergesinde veya açıklama düğümünde konumlandırıldığında XPathNavigator geçerlidir.

  • yöntemi, InsertElementBefore konumunu XPathNavigatoretkilemez.

Şunlara uygulanır