XPathNavigator.CreateAttribute(String, String, String, String) Metódus

Definíció

Létrehoz egy attribútumcsomópontot az aktuális elemcsomóponton a megadott értékkel megadott névtérelőtag, helyi név és névtér URI használatával.

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)

Paraméterek

prefix
String

Az új attribútumcsomópont névtérelőtagja (ha van ilyen).

localName
String

Az új attribútumcsomópont helyi neve, amely nem lehet Empty vagy nullnem.

namespaceURI
String

Az új attribútumcsomópont névtér URI-ja (ha van ilyen).

value
String

Az új attribútumcsomópont értéke. Ha Empty a rendszer átadja vagy null átadja, létrejön egy üres attribútumcsomópont.

Kivételek

Ez XPathNavigator nem elemcsomóponton van elhelyezve.

Ez XPathNavigator nem támogatja a szerkesztést.

Példák

Az alábbi példában egy új discount attribútum jön létre a price fájl első book elemének gyermekelemén contosoBooks.xml .

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)

A példa bemenetként használja a contosoBooks.xml fájlt.

<?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>

Megjegyzések

A névtér előtagja és az URI-értékek a vagy LookupPrefix metódus LookupNamespace használatával kérhetők le. Az alábbi szintaxis például egy attribútumot hoz létre a hatókörön belüli névtér xmlns:bk="http://www.contoso.com/books"használatával:

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

Ezzel létrehozza az új attribútumot <bk:element attributeName="text"/> az aktuális elemen.

A módszer használatakor CreateAttribute az alábbi fontos megjegyzéseket érdemes figyelembe venni.

  • Ha a megadott névtér-előtag vagy String.Emptynull, az új attribútum névtér URI előtagját a rendszer a hatókörben lévő aktuális névterekből szerzi be. Ha az aktuális hatókörben nincs hozzárendelve névtérelőtag a megadott névtér URI-hoz, a rendszer automatikusan létrehoz egy névtérelőtagot. Ha például új attribútumot szeretne létrehozni a fájl alapértelmezett névterének egyik elemén contosoBooks.xml (xmlns="http://www.contoso.com/books"), meg kell adnia null a String.Empty névtér előtagját és a névtér URI-paramétereit is. http://www.contoso.com/books Ha névtér URI paraméterként adja meg, a CreateAttribute metódus automatikusan létrehoz egy névtérelőtagot az új attribútumhoz.

  • Ha a létrehozott új attribútum egy névtércsomópont, amely ütközik az elem névtér-deklarációjával, vagy azért, mert a kiválasztott névtér-előtagot egy másik névtér-deklaráció használja ugyanabban a hatókörben, vagy mert a kiválasztott előtag megegyezik az elemével, de egy másik névtér URI-jához van kötve, kivétel keletkezik.

  • A CreateAttribute metódus nem befolyásolja a XPathNavigator.

A következőre érvényes: