XPathNavigator.InsertElementBefore(String, String, String, String) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vytvoří nový prvek na stejné úrovni před aktuálním uzlem pomocí předpony oboru názvů, místního názvu a identifikátoru URI oboru názvů se zadanou hodnotou.
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
Předpona oboru názvů nového podřízeného elementu (pokud existuje).
- localName
- String
Místní název nového podřízeného elementu (pokud existuje).
- namespaceURI
- String
Identifikátor URI oboru názvů nového podřízeného elementu (pokud existuje).
Empty a null jsou ekvivalentní.
- value
- String
Hodnota nového podřízeného elementu. Pokud Empty nebo null jsou předány, vytvoří se prázdný prvek.
Výjimky
Umístění XPathNavigator neumožní vložení nového uzlu na stejné úrovni před aktuální uzel.
Nepodporuje XPathNavigator úpravy.
Příklady
V následujícím příkladu je vložen nový pages prvek před price podřízený prvek prvního book prvku v contosoBooks.xml souboru.
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)
Příklad vezme contosoBooks.xml soubor jako vstup.
<?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>
Poznámky
Hodnoty předpony oboru názvů a identifikátoru LookupPrefix URI lze získat pomocí metody nebo LookupNamespace metody. Například následující syntaxe vloží prvek na stejné úrovni pomocí oboru názvů v oboru názvů xmlns:bk="http://www.contoso.com/books":
navigator.InsertElementBefore(navigator.Prefix, "pages", LookupNamespaceURI(navigator.Prefix), String.Empty)
Tím se vytvoří nový prvek na stejné straně <bk:pages/> .
Při použití InsertElementBefore této metody je potřeba vzít v úvahu následující důležité poznámky.
Pokud je zadaná
nullpředpona oboru názvů nebo String.Empty, pak předpona pro identifikátor URI oboru názvů nového prvku se získá z aktuálních oborů názvů v oboru. Pokud v aktuálním oboru není přiřazena žádná předpona oboru názvů určená k zadanému identifikátoru URI oboru názvů, vygeneruje se automaticky předpona oboru názvů.Metoda InsertElementBefore je platná pouze v případě XPathNavigator , že je umístěn na element, text, zpracování instrukce nebo uzel komentáře.
Metoda InsertElementBefore nemá vliv na pozici XPathNavigator.