Aracılığıyla paylaş


XPathNavigator.CreateAttribute(String, String, String, String) Yöntem

Tanım

Belirtilen değerle belirtilen ad alanı ön ekini, yerel adı ve ad alanı URI'sini kullanarak geçerli öğe düğümünde bir öznitelik düğümü oluşturur.

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)

Parametreler

prefix
String

Yeni öznitelik düğümünün ad alanı ön eki (varsa).

localName
String

veya nullyapamayan Empty yeni öznitelik düğümünün yerel adı.

namespaceURI
String

Yeni öznitelik düğümü için ad alanı URI'si (varsa).

value
String

Yeni öznitelik düğümünün değeri. veya null geçirilirse Empty boş bir öznitelik düğümü oluşturulur.

Özel durumlar

XPathNavigator öğesi bir öğe düğümünde konumlandırılmaz.

düzenlemeyi XPathNavigator desteklemiyor.

Örnekler

Aşağıdaki örnekte, dosyadaki price ilk bookcontosoBooks.xml öğenin alt öğesinde yeni discount bir öznitelik oluşturulur.

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->MoveToChild("price", "http://www.contoso.com/books");

navigator->CreateAttribute("", "discount", "", "1.00");

navigator->MoveToParent();
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.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)

Örnek, dosyayı giriş olarak alır contosoBooks.xml .

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

Açıklamalar

Ad alanı ön eki ve URI değerleri veya LookupNamespace yöntemi kullanılarak LookupPrefix alınabilir. Örneğin, aşağıdaki söz dizimi kapsam içi ad alanını xmlns:bk="http://www.contoso.com/books"kullanarak bir öznitelik oluşturur:

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

Bu, geçerli öğede yeni özniteliği <bk:element attributeName="text"/> oluşturur.

Yöntemi kullanırken dikkate alınması gereken önemli notlar aşağıdadır CreateAttribute .

  • Belirtilen ad alanı ön eki veya nulliseString.Empty, yeni özniteliğin ad alanı URI'sinin ön eki kapsamdaki geçerli ad alanından alınır. Geçerli kapsamda belirtilen ad alanı URI'sine atanmış bir ad alanı ön eki yoksa, otomatik olarak bir ad alanı ön eki oluşturulur. Örneğin, dosyanın varsayılan ad alanında contosoBooks.xml bulunan bir öğede yeni bir öznitelik oluşturmak için (xmlns="http://www.contoso.com/books" ), hem ad alanı ön eki hem de ad alanı URI parametreleri için veya String.Empty belirtirsiniznull. ad alanı URI parametresi olarak belirtilmesi http://www.contoso.com/books yöntemin CreateAttribute yeni öznitelik için bir ad alanı ön eki oluşturmasına neden olur.

  • Oluşturulan yeni öznitelik, seçilen ad alanı öneki aynı kapsamdaki başka bir ad alanı bildirimi tarafından kullanıldığından veya seçilen ön ek öğeninkiyle aynı olduğundan ancak farklı bir ad alanı URI'sine bağlı olduğundan öğedeki bir ad alanı bildirimiyle çakan bir ad alanı düğümüyse, bir özel durum oluşturulur.

  • CreateAttribute yöntemi, konumunu XPathNavigatoretkilemez.

Şunlara uygulanır