XPathNavigator.CreateAttribute(String, String, String, String) 메서드

정의

지정된 값과 함께 지정된 네임스페이스 접두사, 로컬 이름 및 네임스페이스 URI를 사용하여 현재 요소 노드에 특성 노드를 만듭니다.

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);
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)

매개 변수

prefix
String

새 특성 노드의 네임스페이스 접두사입니다(있는 경우).

localName
String

새 특성 노드의 로컬 이름으로, Empty 또는 null일 수 없습니다.

namespaceURI
String

새 특성 노드의 네임스페이스 URI입니다(있는 경우).

value
String

새 특성 노드의 값입니다. Empty 또는 null을 전달하면 빈 특성 노드가 만들어집니다.

예외

요소 노드에 XPathNavigator의 위치가 지정되지 않습니다.

XPathNavigator에서는 편집을 지원하지 않습니다.

예제

다음 예제에서는 파일의 첫 번째 book 요소의 price 자식 요소에 새 discount 특성이 contosoBooks.xml 만들어집니다.

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)

이 예제에서는 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>  

설명

네임스페이스 접두사 및 URI 값은 또는 LookupNamespace 메서드를 LookupPrefix 사용하여 가져올 수 있습니다. 예를 들어 다음 구문은 범위 내 네임스페 xmlns:bk="http://www.contoso.com/books"이스를 사용하여 특성을 만듭니다.

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

그러면 현재 요소에 새 특성 <bk:element attributeName="text"/> 이 만들어집니다.

다음은 메서드를 사용할 CreateAttribute 때 고려해야 할 중요한 참고 사항입니다.

  • 지정된 네임스페이 String.Empty 스 접두사이거나 null새 특성의 네임스페이스 URI에 대한 접두사는 범위 내의 현재 네임스페이스에서 가져옵니다. 현재 범위에서 지정된 네임스페이스 URI에 할당된 네임스페이스 접두사가 없는 경우 네임스페이스 접두사는 자동으로 생성됩니다. 예를 들어 파일의 contosoBooks.xml 기본 네임스페이스에 있는 요소에 새 특성을 만들려면 네xmlns="http://www.contoso.com/books"임스페이스 접두사 및 네임스페이스 URI 매개 변수를 지정 null 하거나 String.Empty 둘 다 지정합니다. http://www.contoso.com/books 네임스페이스 URI 매개 변수로 지정하면 메서드에서 CreateAttribute 새 특성에 대한 네임스페이스 접두사 자동 생성이 발생합니다.

  • 생성된 새 특성이 요소의 네임스페이스 선언과 충돌하는 네임스페이스 노드인 경우 선택한 네임스페이스 접두사는 동일한 범위의 다른 네임스페이스 선언에서 사용되거나 선택한 접두사는 요소의 접두사와 동일하지만 다른 네임스페이스 URI에 바인딩되어 있기 때문에 예외가 throw됩니다.

  • 메서드는 CreateAttribute .의 XPathNavigator위치에 영향을 주지 않습니다.

적용 대상