XPathNavigator.CreateAttributes 메서드

정의

현재 요소에 새 특성을 만드는 데 사용된 XmlWriter 개체를 반환합니다.Returns an XmlWriter object used to create new attributes on the current element.

public:
 virtual System::Xml::XmlWriter ^ CreateAttributes();
public virtual System.Xml.XmlWriter CreateAttributes ();
abstract member CreateAttributes : unit -> System.Xml.XmlWriter
override this.CreateAttributes : unit -> System.Xml.XmlWriter
Public Overridable Function CreateAttributes () As XmlWriter

반환

현재 요소에 새 특성을 만드는 데 사용된 XmlWriter 개체입니다.An XmlWriter object used to create new attributes on the current element.

예외

요소 노드에 XPathNavigator의 위치가 지정되지 않습니다.The XPathNavigator is not positioned on an element node.

XPathNavigator에서는 편집을 지원하지 않습니다.The XPathNavigator does not support editing.

예제

다음 예제에서는 discount 메서드에서 반환된 currency 개체를 사용하여 price 파일에서 첫 번째 book 요소의 contosoBooks.xml 자식 요소에 새 XmlWriterCreateAttributes 특성을 만듭니다.In the following example, new discount and currency attributes are created on the price child element of the first book element in the contosoBooks.xml file using the XmlWriter object returned from the CreateAttributes method.

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

XmlWriter^ attributes = navigator->CreateAttributes();

attributes->WriteAttributeString("discount", "1.00");
attributes->WriteAttributeString("currency", "USD");
attributes->Close();

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

XmlWriter attributes = navigator.CreateAttributes();

attributes.WriteAttributeString("discount", "1.00");
attributes.WriteAttributeString("currency", "USD");
attributes.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 attributes As XmlWriter = navigator.CreateAttributes()

attributes.WriteAttributeString("discount", "1.00")
attributes.WriteAttributeString("currency", "USD")
attributes.Close()

navigator.MoveToParent()
Console.WriteLine(navigator.OuterXml)

이 예제에서는 contosoBooks.xml 파일을 입력으로 사용합니다.The example takes the contosoBooks.xml file as an input.

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

설명

다음은 사용 하는 경우를 고려해 야 할 중요 한 정보는 CreateAttributes 메서드.The following are important notes to consider when using the CreateAttributes method.

  • 경우는 XPathNavigator 요소에 의해 생성 된 새 특성에 배치 되는 XPathNavigator 메서드는 현재 요소의 특성 목록 끝에 배치 됩니다.When the XPathNavigator is positioned on an element, the new attributes created by the XPathNavigator method are placed at the end of the attribute list of the current element.

  • 될 때까지 새 특성을 삽입 되지 않습니다 합니다 Close 메서드는 XmlWriter 개체 라고 합니다.The new attributes are not inserted until the Close method of the XmlWriter object is called.

  • 지정 된 네임 스페이스 접두사 이면 String.Empty 또는 null는 현재 범위에서 네임 스페이스에서 새 특성의 URI 네임 스페이스의 접두사를 가져옵니다.If the namespace prefix specified is String.Empty or null, the prefix for the namespace URI of the new attribute is obtained from the current namespaces in-scope. 지정된 된 네임 스페이스 URI 현재 범위에서 할당할 네임 스페이스 접두사가 없으면 네임 스페이스 접두사를 자동으로 생성 됩니다.If there is no namespace prefix assigned to the specified namespace URI at the current scope, a namespace prefix is automatically generated. 기본 네임 스페이스에서 요소의 새 특성을 만드는 예는 contosoBooks.xml 파일 (xmlns="http://www.contoso.com/books")을 지정할 null 또는 String.Empty 네임 스페이스 접두사와 네임 스페이스 URI 매개 변수 모두에 대 한 합니다.For example to create a new attribute on an element in the default namespace of the contosoBooks.xml file, (xmlns="http://www.contoso.com/books"), you specify null or String.Empty for both the namespace prefix and namespace URI parameters. 지정 http://www.contoso.com/books 하면 매개 변수를 네임 스페이스 URI CreateAttribute 메서드를 자동으로 새 특성의 네임 스페이스 접두사를 생성 합니다.Specifying http://www.contoso.com/books as the namespace URI parameter will cause the CreateAttribute method to auto generate a namespace prefix for the new attribute.

  • 선택한 접두사와 동일 하기 때문에 또는 새로 만든 특성 네임 스페이스 노드 요소에 네임 스페이스 선언 하거나 선택한 네임 스페이스 접두사는 같은 범위에서 다른 네임 스페이스 선언에 의해 사용 되기 때문에 충돌 하는 경우에 요소는 다른 네임 스페이스 URI에 바인딩된 예외가 throw 됩니다.If the new attribute created is a namespace node which conflicts with a namespace declaration on the element, either because the namespace prefix chosen is used by another namespace declaration at the same scope, or because the prefix chosen is the same as that of the element but is bound to a different namespace URI, an exception is thrown.

  • XmlWriter 반환 하는 개체 특성을 만드는 사용할 수 있습니다.The XmlWriter object returned may only be used to create attributes. 다른 호출 XmlWriter 개체 메서드 특성을 만들지 않는 예외를 throw 합니다.Calling other XmlWriter object methods that do not create attributes throws an exception.

  • 합니다 CreateAttributes 메서드의 위치에 영향을 주지 않습니다는 XPathNavigator합니다.The CreateAttributes method does not affect the position of the XPathNavigator.

적용 대상