XPathNavigator.InsertElementBefore(String, String, String, String) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Tworzy nowy element równorzędny przed bieżącym węzłem przy użyciu prefiksu przestrzeni nazw, nazwy lokalnej i określonego identyfikatora URI przestrzeni nazw z określoną wartością.
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)
Parametry
- prefix
- String
Prefiks przestrzeni nazw nowego elementu podrzędnego (jeśli istnieje).
- localName
- String
Lokalna nazwa nowego elementu podrzędnego (jeśli istnieje).
- namespaceURI
- String
Identyfikator URI przestrzeni nazw nowego elementu podrzędnego (jeśli istnieje).
Empty i null
są równoważne.
- value
- String
Wartość nowego elementu podrzędnego. Jeśli Empty element zostanie przekazany lub null
zostanie przekazany, zostanie utworzony pusty element.
Wyjątki
Pozycja węzła XPathNavigator nie zezwala na wstawianie nowego węzła równorzędnego przed bieżącym węzłem.
Element XPathNavigator nie obsługuje edycji.
Przykłady
W poniższym przykładzie nowy pages
element jest wstawiany przed price
elementem podrzędnym pierwszego book
elementu w contosoBooks.xml
pliku.
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)
W przykładzie contosoBooks.xml
plik jest pobierany jako dane wejściowe.
<?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>
Uwagi
Prefiks przestrzeni nazw i wartości identyfikatorów URI można uzyskać przy użyciu LookupPrefix metody lub LookupNamespace . Na przykład następująca składnia wstawia element równorzędny przy użyciu przestrzeni nazw xmlns:bk="http://www.contoso.com/books"
w zakresie :
navigator.InsertElementBefore(navigator.Prefix, "pages", LookupNamespaceURI(navigator.Prefix), String.Empty)
Spowoduje to utworzenie nowego elementu równorzędnego <bk:pages/>
.
Poniżej przedstawiono ważne uwagi, które należy wziąć pod uwagę podczas korzystania z InsertElementBefore metody .
Jeśli określony prefiks przestrzeni nazw to
null
lub String.Empty, prefiks identyfikatora URI przestrzeni nazw nowego elementu jest uzyskiwany z bieżących przestrzeni nazw w zakresie. Jeśli nie ma prefiksu przestrzeni nazw przypisanego do określonego identyfikatora URI przestrzeni nazw w bieżącym zakresie, prefiks przestrzeni nazw jest generowany automatycznie.Metoda jest prawidłowa InsertElementBefore tylko wtedy, gdy XPathNavigator element jest umieszczony w elemecie, tekście, instrukcji przetwarzania lub węźle komentarza.
Metoda InsertElementBefore nie ma wpływu na położenie obiektu XPathNavigator.