XPathNavigator.CreateAttribute(String, String, String, String) Metod

Definition

Skapar en attributnod på den aktuella elementnoden med hjälp av namnområdesprefixet, det lokala namnet och namnområdes-URI:n som angetts med det angivna värdet.

public:
 virtual void CreateAttribute(System::String ^ prefix, System::String ^ localName, System::String ^ namespaceURI, System::String ^ value);
public virtual void CreateAttribute(string? prefix, string localName, string? namespaceURI, string? value);
public virtual void CreateAttribute(string prefix, string localName, string namespaceURI, string value);
abstract member CreateAttribute : string * string * string * string -> unit
override this.CreateAttribute : string * string * string * string -> unit
Public Overridable Sub CreateAttribute (prefix As String, localName As String, namespaceURI As String, value As String)

Parametrar

prefix
String

Namnområdesprefixet för den nya attributnoden (om någon).

localName
String

Det lokala namnet på den nya attributnoden, som inte kan vara Empty eller null.

namespaceURI
String

Namnområdes-URI:n för den nya attributnoden (om någon).

value
String

Värdet för den nya attributnoden. Om Empty eller null skickas skapas en tom attributnod.

Undantag

XPathNavigator Är inte placerad på en elementnod.

Stöder XPathNavigator inte redigering.

Exempel

I följande exempel skapas ett nytt discount attribut på det price underordnade elementet i 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.CreateAttribute("", "discount", "", "1.00");

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.CreateAttribute("", "discount", "", "1.00")

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

Namnområdesprefix och URI-värden kan hämtas med hjälp av LookupPrefix metoden eller LookupNamespace . Följande syntax skapar till exempel ett attribut med hjälp av namnområdet i omfånget xmlns:bk="http://www.contoso.com/books":

editor.CreateAttribute(navigator.Prefix, "attributeName", LookupNamespace(navigator.Prefix), "text")

Detta skapar det nya attributet <bk:element attributeName="text"/> för det aktuella elementet.

Följande är viktiga att tänka på när du använder CreateAttribute metoden.

  • Om det angivna namnområdesprefixet är String.Empty eller nullhämtas prefixet för namnområdes-URI:n för det nya attributet från de aktuella namnrymderna i omfånget. Om det inte finns något namnområdesprefix tilldelat till den angivna namnområdes-URI:n i det aktuella omfånget genereras automatiskt ett namnområdesprefix. Om du till exempel vill skapa ett nytt attribut för ett element i filens contosoBooks.xml standardnamnområde (xmlns="http://www.contoso.com/books") anger null eller String.Empty för både namnområdesprefixet och namnområdets URI-parametrar. Om du anger http://www.contoso.com/books som URI-parameter för namnområdet genereras CreateAttribute automatiskt ett namnområdesprefix för det nya attributet.

  • Om det nya attributet som skapas är en namnområdesnod som står i konflikt med en namnområdesdeklaration för elementet, antingen för att det valda namnområdesprefixet används av en annan namnområdesdeklaration i samma omfång, eller för att det valda prefixet är detsamma som för elementet men är bundet till en annan namnområdes-URI, utlöses ett undantag.

  • Metoden CreateAttribute påverkar inte positionen för XPathNavigator.

Gäller för