XPathNavigator.InsertBefore Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Skapar en ny syskonnod före den valda noden.
Överlagringar
| Name | Description |
|---|---|
| InsertBefore() |
Returnerar ett XmlWriter objekt som används för att skapa en ny syskonnod före den valda noden. |
| InsertBefore(String) |
Skapar en ny nod på samma nivå före den valda noden med den angivna XML-strängen. |
| InsertBefore(XmlReader) |
Skapar en ny syskonnod före den valda noden med hjälp av XML-innehållet i det XmlReader angivna objektet. |
| InsertBefore(XPathNavigator) |
Skapar en ny syskonnod före den valda noden med noderna i den XPathNavigator angivna noden. |
InsertBefore()
Returnerar ett XmlWriter objekt som används för att skapa en ny syskonnod före den valda noden.
public:
virtual System::Xml::XmlWriter ^ InsertBefore();
public virtual System.Xml.XmlWriter InsertBefore();
abstract member InsertBefore : unit -> System.Xml.XmlWriter
override this.InsertBefore : unit -> System.Xml.XmlWriter
Public Overridable Function InsertBefore () As XmlWriter
Returer
Ett XmlWriter objekt som används för att skapa en ny syskonnod före den valda noden.
Undantag
Positionen för XPathNavigator tillåter inte att en ny syskonnod infogas före den aktuella noden.
Stöder XPathNavigator inte redigering.
Exempel
I följande exempel infogas ett nytt pages element före det price underordnade elementet i det första book elementet i contosoBooks.xml filen med hjälp av objektet XmlWriter som returneras av InsertBefore metoden.
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");
XmlWriter pages = navigator.InsertBefore();
pages.WriteElementString("pages", "100");
pages.Close();
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")
Dim pages As XmlWriter = navigator.InsertBefore()
pages.WriteElementString("pages", "100")
pages.Close()
navigator.MoveToParent()
Console.WriteLine(navigator.OuterXml)
Exemplet tar contosoBooks.xml filen som indata.
<?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>
Kommentarer
Följande är viktiga att tänka på när du använder InsertBefore metoden.
Den nya syskonnoden infogas inte förrän Close -metoden för XmlWriter objektet anropas.
Metoden InsertBefore är endast giltig när XPathNavigator är placerad på ett element, text, bearbetningsinstruktion eller kommentarsnod.
Metoden InsertBefore påverkar inte positionen för XPathNavigator.
Gäller för
InsertBefore(String)
Skapar en ny nod på samma nivå före den valda noden med den angivna XML-strängen.
public:
virtual void InsertBefore(System::String ^ newSibling);
public virtual void InsertBefore(string newSibling);
abstract member InsertBefore : string -> unit
override this.InsertBefore : string -> unit
Public Overridable Sub InsertBefore (newSibling As String)
Parametrar
- newSibling
- String
XML-datasträngen för den nya syskonnoden.
Undantag
XML-strängparametern är null.
Positionen för XPathNavigator tillåter inte att en ny syskonnod infogas före den aktuella noden.
Stöder XPathNavigator inte redigering.
XML-strängparametern är inte välformulerad.
Exempel
I följande exempel infogas ett nytt pages-element före det price-underordnade elementet till det första book-elementet i contosoBooks.xml-filen.
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.InsertBefore("<pages>100</pages>");
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.InsertBefore("<pages>100</pages>")
navigator.MoveToParent()
Console.WriteLine(navigator.OuterXml)
Exemplet tar contosoBooks.xml filen som indata.
<?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>
Kommentarer
Om du vill skapa en ny elementnod tar du med all XML-syntax i XML-strängparametern. Strängen för en ny book nod är InsertBefore("<book/>"). Strängen för att infoga texten "bok" innan den aktuella nodens textnod är InsertBefore("book"). Om XML-strängen innehåller flera noder läggs alla noder till.
Följande är viktiga att tänka på när du använder InsertBefore metoden.
Metoden InsertBefore är endast giltig när XPathNavigator är placerad på ett element, text, bearbetningsinstruktion eller kommentarsnod.
Metoden InsertBefore påverkar inte positionen för XPathNavigator.
Gäller för
InsertBefore(XmlReader)
Skapar en ny syskonnod före den valda noden med hjälp av XML-innehållet i det XmlReader angivna objektet.
public:
virtual void InsertBefore(System::Xml::XmlReader ^ newSibling);
public virtual void InsertBefore(System.Xml.XmlReader newSibling);
abstract member InsertBefore : System.Xml.XmlReader -> unit
override this.InsertBefore : System.Xml.XmlReader -> unit
Public Overridable Sub InsertBefore (newSibling As XmlReader)
Parametrar
Undantag
Objektet XmlReader är i feltillstånd eller stängt.
Objektparametern XmlReader är null.
Positionen för XPathNavigator tillåter inte att en ny syskonnod infogas före den aktuella noden.
Stöder XPathNavigator inte redigering.
XML-innehållet i XmlReader objektparametern är inte välformat.
Exempel
I följande exempel infogas ett nytt pages element före det price underordnade elementet i det första book elementet i contosoBooks.xml filen med det XmlReader angivna objektet. Namnområdet http://www.contoso.com/books anges så att det nya syskonelementet infogas med samma namnområde som XML-dokumentet.
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");
XmlReader pages = XmlReader.Create(new StringReader("<pages xmlns=\"http://www.contoso.com/books\">100</pages>"));
navigator.InsertBefore(pages);
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")
Dim pages As XmlReader = XmlReader.Create(New StringReader("<pages xmlns='http://www.contoso.com/books'>100</pages>"))
navigator.InsertBefore(pages)
navigator.MoveToParent()
Console.WriteLine(navigator.OuterXml)
Exemplet tar contosoBooks.xml filen som indata.
<?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>
Kommentarer
Följande är viktiga att tänka på när du använder InsertBefore metoden.
Om objektet XmlReader placeras över en sekvens med XML-noder läggs alla noder i sekvensen till.
Metoden InsertBefore är endast giltig när XPathNavigator är placerad på ett element, text, bearbetningsinstruktion eller kommentarsnod.
Metoden InsertBefore påverkar inte positionen för XPathNavigator.
Gäller för
InsertBefore(XPathNavigator)
Skapar en ny syskonnod före den valda noden med noderna i den XPathNavigator angivna noden.
public:
virtual void InsertBefore(System::Xml::XPath::XPathNavigator ^ newSibling);
public virtual void InsertBefore(System.Xml.XPath.XPathNavigator newSibling);
abstract member InsertBefore : System.Xml.XPath.XPathNavigator -> unit
override this.InsertBefore : System.Xml.XPath.XPathNavigator -> unit
Public Overridable Sub InsertBefore (newSibling As XPathNavigator)
Parametrar
- newSibling
- XPathNavigator
Ett XPathNavigator objekt som placeras på noden som ska läggas till som den nya syskonnoden.
Undantag
Objektparametern XPathNavigator är null.
Positionen för XPathNavigator tillåter inte att en ny syskonnod infogas före den aktuella noden.
Stöder XPathNavigator inte redigering.
Exempel
I följande exempel infogas ett nytt pages element före det price underordnade elementet i det första book elementet i contosoBooks.xml filen med hjälp av noden som finns i det XPathNavigator angivna objektet. Namnområdet http://www.contoso.com/books anges så att det nya syskonelementet infogas med samma namnområde som XML-dokumentet.
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");
XmlDocument childNodes = new XmlDocument();
childNodes.Load(new StringReader("<pages xmlns=\"http://www.contoso.com/books\">100</pages>"));
XPathNavigator childNodesNavigator = childNodes.CreateNavigator();
navigator.InsertBefore(childNodesNavigator);
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")
Dim childNodes As XmlDocument = New XmlDocument()
childNodes.Load(New StringReader("<pages xmlns='http://www.contoso.com/books'>100</pages>"))
Dim childNodesNavigator As XPathNavigator = childNodes.CreateNavigator()
navigator.InsertBefore(childNodesNavigator)
navigator.MoveToParent()
Console.WriteLine(navigator.OuterXml)
Exemplet tar contosoBooks.xml filen som indata.
<?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>
Kommentarer
Följande är viktiga att tänka på när du använder InsertBefore metoden.
Om objektet XPathNavigator placeras över en sekvens med XML-noder läggs alla noder i sekvensen till.
Metoden InsertBefore är endast giltig när XPathNavigator är placerad på ett element, text, bearbetningsinstruktion eller kommentarsnod.
Metoden InsertBefore påverkar inte positionen för XPathNavigator.