Udostępnij za pośrednictwem


XPathNavigator.PrependChildElement(String, String, String, String) Metoda

Definicja

Tworzy nowy element podrzędny na początku listy węzłów podrzędnych bieżącego węzła przy użyciu prefiksu przestrzeni nazw, nazwy lokalnej i identyfikatora URI przestrzeni nazw określonej z określoną wartością.

public:
 virtual void PrependChildElement(System::String ^ prefix, System::String ^ localName, System::String ^ namespaceURI, System::String ^ value);
public virtual void PrependChildElement (string prefix, string localName, string namespaceURI, string value);
public virtual void PrependChildElement (string? prefix, string localName, string? namespaceURI, string? value);
abstract member PrependChildElement : string * string * string * string -> unit
override this.PrependChildElement : string * string * string * string -> unit
Public Overridable Sub PrependChildElement (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

Bieżący węzeł, na który XPathNavigator jest umieszczony, nie zezwala na wstępne dołączanie nowego węzła podrzędnego.

Element XPathNavigator nie obsługuje edycji.

Przykłady

W poniższym przykładzie nowy pages element podrzędny jest poprzedzany na początku listy elementów podrzędnych 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->PrependChildElement(navigator->Prefix, "pages", navigator->LookupNamespace(navigator->Prefix), "100");

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.PrependChildElement(navigator.Prefix, "pages", navigator.LookupNamespace(navigator.Prefix), "100");

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.PrependChildElement(navigator.Prefix, "pages", navigator.LookupNamespace(navigator.Prefix), "100")

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

Wstępne tworzenie węzła podrzędnego powoduje dodanie nowego węzła na początku listy węzłów podrzędnych dla bieżącego węzła. Na przykład, gdy istnieją trzy węzły podrzędne dla elementu, wstępnie utworzony węzeł staje się pierwszym węzłem podrzędnym. Jeśli nie istnieją żadne węzły podrzędne, zostanie utworzony nowy węzeł podrzędny.

Prefiks przestrzeni nazw i wartości identyfikatorów URI można uzyskać przy użyciu LookupPrefix metody or LookupNamespace . Na przykład następująca składnia poprzedza element podrzędny przy użyciu przestrzeni nazw xmlns:bk="http://www.contoso.com/books"w zakresie :

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

Spowoduje to utworzenie nowego elementu podrzędnego <bk:pages/> .

Poniżej przedstawiono ważne uwagi, które należy wziąć pod uwagę podczas korzystania z PrependChildElement 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 PrependChildElement tylko wtedy, gdy XPathNavigator element znajduje się w węźle elementu.

  • Metoda PrependChildElement nie ma wpływu na położenie obiektu XPathNavigator.

Dotyczy