XmlNamespaceManager.AddNamespace(String, String) XmlNamespaceManager.AddNamespace(String, String) XmlNamespaceManager.AddNamespace(String, String) XmlNamespaceManager.AddNamespace(String, String) Method

정의

지정된 네임스페이스를 컬렉션에 추가합니다.Adds the given namespace to the collection.

public:
 virtual void AddNamespace(System::String ^ prefix, System::String ^ uri);
public virtual void AddNamespace (string prefix, string uri);
abstract member AddNamespace : string * string -> unit
override this.AddNamespace : string * string -> unit
Public Overridable Sub AddNamespace (prefix As String, uri As String)

매개 변수

prefix
String String String String

추가할 네임스페이스와 관련된 접두사입니다.The prefix to associate with the namespace being added. 기본 네임스페이스를 추가하려면 String.Empty를 사용합니다.Use String.Empty to add a default namespace.

참고 XPath(XML Path Language) 식에서 네임스페이스를 확인하는 데 XmlNamespaceManager를 사용할 경우에는 접두사를 지정해야 합니다.NoteIf the XmlNamespaceManager will be used for resolving namespaces in an XML Path Language (XPath) expression, a prefix must be specified. XPath 식에 접두사가 없으면 네임스페이스 URI(Uniform Resource Identifier)를 빈 네임스페이스로 간주합니다.If an XPath expression does not include a prefix, it is assumed that the namespace Uniform Resource Identifier (URI) is the empty namespace. XPath 식 및 XmlNamespaceManager에 대한 자세한 내용은 SelectNodes(String)SetContext(XmlNamespaceManager) 메서드를 참조하십시오.For more information about XPath expressions and the XmlNamespaceManager, refer to the SelectNodes(String) and SetContext(XmlNamespaceManager) methods.

uri
String String String String

추가할 네임스페이스입니다.The namespace to add.

예외

prefix의 값이 "xml" 또는 "xmlns"인 경우The value for prefix is "xml" or "xmlns".

prefix 또는 uri의 값이 null인 경우The value for prefix or uri is null.

예제

다음 예제에서는 XmlNamespaceManager 를 XML 조각에서 네임 스페이스를 확인 합니다.The following example uses XmlNamespaceManager to resolve namespaces in an XML fragment.

using System;
using System.Xml;

public class Sample
{

    public static void Main()
    {

        XmlTextReader reader = null;

        try
        {

            // Create the string containing the XML to read.
            String xmlFrag = "<book>" +
                           "<title>Pride And Prejudice</title>" +
                           "<author>" +
                           "<first-name>Jane</first-name>" +
                           "<last-name>Austen</last-name>" +
                           "</author>" +
                           "<curr:price>19.95</curr:price>" +
                           "<misc>&h;</misc>" +
                           "</book>";

            // Create an XmlNamespaceManager to resolve namespaces.
            NameTable nt = new NameTable();
            XmlNamespaceManager nsmgr = new XmlNamespaceManager(nt);
            nsmgr.AddNamespace(String.Empty, "urn:samples"); //default namespace
            nsmgr.AddNamespace("curr", "urn:samples:dollar");

            // Create an XmlParserContext.  The XmlParserContext contains all the information
            // required to parse the XML fragment, including the entity information and the
            // XmlNamespaceManager to use for namespace resolution.
            XmlParserContext context;
            String subset = "<!ENTITY h 'hardcover'>";
            context = new XmlParserContext(nt, nsmgr, "book", null, null, subset, null, null, XmlSpace.None);

            // Create the reader.
            reader = new XmlTextReader(xmlFrag, XmlNodeType.Element, context);

            // Parse the file and display the node values.
            while (reader.Read())
            {
                if (reader.HasValue)
                    Console.WriteLine("{0} [{1}] = {2}", reader.NodeType, reader.Name, reader.Value);
                else
                    Console.WriteLine("{0} [{1}]", reader.NodeType, reader.Name);
            }
        }
        finally
        {
            if (reader != null)
                reader.Close();
        }
    }
} // End class
Imports System.Xml

Public Class Sample

    Public Shared Sub Main()

        Dim reader As XmlTextReader = Nothing

        Try

            ' Create the string containing the XML to read.
            Dim xmlFrag As String
            xmlFrag = "<book>" & _
                           "<title>Pride And Prejudice</title>" & _
                           "<author>" & _
                           "<first-name>Jane</first-name>" & _
                           "<last-name>Austen</last-name>" & _
                           "</author>" & _
                           "<curr:price>19.95</curr:price>" & _
                           "<misc>&h;</misc>" & _
                           "</book>"

            ' Create an XmlNamespaceManager to resolve namespaces.
            Dim nt As NameTable = New NameTable()
            Dim nsmgr As XmlNamespaceManager = New XmlNamespaceManager(nt)
            nsmgr.AddNamespace(String.Empty, "urn:samples") 'default namespace
            nsmgr.AddNamespace("curr", "urn:samples:dollar")

            ' Create an XmlParserContext.  The XmlParserContext contains all the information
            ' required to parse the XML fragment, including the entity information and the
            ' XmlNamespaceManager to use for namespace resolution.
            Dim context As XmlParserContext
            Dim subset As String = "<!ENTITY h 'hardcover'>"
            context = New XmlParserContext(nt, nsmgr, "book", Nothing, Nothing, subset, Nothing, Nothing, XmlSpace.None)

            ' Create the reader.
            reader = New XmlTextReader(xmlFrag, XmlNodeType.Element, context)

            ' Parse the file and display the node values.
            While (reader.Read())
                If (reader.HasValue) Then
                    Console.WriteLine("{0} [{1}] = {2}", reader.NodeType, reader.Name, reader.Value)
                Else
                    Console.WriteLine("{0} [{1}]", reader.NodeType, reader.Name)
                End If
            End While

        Finally
            If Not (reader Is Nothing) Then
                reader.Close()
            End If
        End Try
    End Sub
End Class

설명

XmlNamespaceManager 확인 하지 않습니다 prefixuri 규칙에 대 한 합니다.XmlNamespaceManager does not check prefix and uri for conformance.

XmlReader 이름, 접두사 및 네임 스페이스를 포함 하 여 World Wide Web Consortium (W3C)에 따라 유효한 XML 이름 확인 검사 네임 스페이스 사양합니다.XmlReader checks names, including prefixes and namespaces, to ensure they are valid XML names according to the World Wide Web Consortium (W3C) Namespaces specification. XmlNamespaceManager 내부적으로 사용 됩니다 XmlReader을 피하고, 중복을 방지 하도록 XmlNamespaceManager 모든 접두사와 네임 스페이스는 유효한 것으로 가정 합니다.XmlNamespaceManager is used internally by XmlReader, so to avoid a duplication of efforts, XmlNamespaceManager assumes all prefixes and namespaces are valid.

접두사 및 네임 스페이스를 이미 있는 경우 현재 범위 내에서 새 네임 스페이스 및 접두사 쌍은 기존의 접두사/네임 스페이스 조합을 바뀝니다.If the prefix and namespace already exist within the current scope, the new prefix and namespace pair will replace the existing prefix/namespace combination. 같은 접두사와 네임 스페이스 조합 다른 범위에 걸쳐 있을 수 있습니다.The same prefix and namespace combination can exist across different scopes.

다음 접두사/네임 스페이스 쌍을 기본적으로 추가 되는 XmlNamespaceManager합니다.The following prefix/namespace pairs are added by default to the XmlNamespaceManager. 이러한 모든 범위에서 확인할 수 있습니다.They can be determined at any scope.

접두사Prefix 네임스페이스Namespace
xmlnsxmlns http://www.w3.org/2000/xmlns/ (xmlns 네임 스페이스를 접두사)http://www.w3.org/2000/xmlns/ (the xmlns prefix namespace)
xmlxml http://www.w3.org/XML/1998/namespace (XML 네임 스페이스)http://www.w3.org/XML/1998/namespace (the XML namespace)
String.EmptyString.Empty String.Empty (빈 네임 스페이스)입니다.String.Empty (the empty namespace). 이 값은 다른 접두사를 다시 할당 합니다.This value can be reassigned a different prefix. 예를 들어, xmlns = "" 빈 네임 스페이스가 기본 네임 스페이스를 정의 합니다.For example, xmlns="" defines the default namespace to be the empty namespace

적용 대상

추가 정보