XNamespace XNamespace XNamespace XNamespace Class

정의

XML 네임스페이스를 나타냅니다.Represents an XML namespace. 이 클래스는 상속될 수 없습니다.This class cannot be inherited.

public ref class XNamespace sealed
public sealed class XNamespace
type XNamespace = class
Public NotInheritable Class XNamespace
상속
XNamespaceXNamespaceXNamespaceXNamespace

설명

이 클래스는 네임 스페이스의 XML 구조를 나타냅니다.This class represents the XML construct of namespaces.

모든 XName 포함 된 XNamespace합니다.Every XName contains an XNamespace. 요소가 네임스페이스에 없는 경우에도 요소의 XName에는 여전히 네임스페이스 XNamespace.None이 포함되어 있습니다.Even if an element is not in a namespace, the element's XName still contains a namespace, XNamespace.None. XName.Namespace 속성은 null일 수 없습니다.The XName.Namespace property is guaranteed to not be null.

XNamespace 개체 만들기Creating an XNamespace Object

만들기에 대 한 가장 일반적인 방법은 XNamespace 는 단순히 문자열을 할당 하는 것입니다.The most common way to create an XNamespace object is to simply assign a string to it. 그런 다음 더하기 연산자의 재정의 사용 하 여 로컬 이름과 네임 스페이스를 결합할 수 있습니다.You can then combine the namespace with a local name by using the override of the addition operator. 다음 예제에서는이 관용구를 보여 줍니다.The following example shows this idiom:

XNamespace aw = "http://www.adventure-works.com";  
XElement root = new XElement(aw + "Root", "Content");  
Console.WriteLine(root);  
Dim aw As XNamespace = "http://www.adventure-works.com"  
Dim root As XElement = New XElement(aw + "Root", "Content")  
Console.WriteLine(root)  

그러나 Visual Basic에서는 일반적으로 선언 합니다 전역 기본 네임 스페이스를 다음과 같습니다.However, in Visual Basic, you would typically declare a global default namespace, as follows:

Imports <xmlns='http://www.adventure-works.com'>  

Module Module1  
    Sub Main()  
        Dim root As XElement = _  
            <Root>Content</Root>  
        Console.WriteLine(root)  
    End Sub  
End Module  

이 예제는 다음과 같은 출력을 생성합니다.This example produces the following output:

<Root xmlns="http://www.adventure-works.com">Content</Root>  

문자열을 할당 한 XNamespace 에서 암시적 변환을 사용 하 여 String입니다.Assigning a string to an XNamespace uses the implicit conversion from String.

방법: 네임 스페이스로 문서 만들기 (C#) (LINQ to XML) 자세한 내용 및 예제에 대 한 합니다.See How to: Create a Document with Namespaces (C#) (LINQ to XML) for more information and examples.

참조 Visual Basic (LINQ to XML)의 네임 스페이스 네임 스페이스를 사용 하 여 Visual Basic에 대 한 자세한 내용은 합니다.See Namespaces in Visual Basic (LINQ to XML) for more information on using namespaces in Visual Basic.

접두사 Namespace 제어Controlling Namespace Prefixes

네임 스페이스를 선언 하는 특성을 만든 경우 serialize 된 XML 특성에 지정 된 접두사 유지 됩니다.If you create an attribute that declares a namespace, the prefix specified in the attribute will be persisted in the serialized XML. 접두사가 포함된 네임스페이스를 선언하는 특성을 만들려면 특성 이름의 네임스페이스가 Xmlns이고 특성의 이름이 네임스페이스 접두사인 특성을 만듭니다.To create an attribute that declares a namespace with a prefix, you create an attribute where the namespace of the name of the attribute is Xmlns, and the name of the attribute is the namespace prefix. 특성 값은 네임스페이스의 URI입니다.The value of the attribute is the URI of the namespace. 다음 예제에서는이 관용구를 보여 줍니다.The following example shows this idiom:

XNamespace aw = "http://www.adventure-works.com";  
XElement root = new XElement(aw + "Root",  
    new XAttribute(XNamespace.Xmlns + "aw", "http://www.adventure-works.com"),  
    "Content");  
Console.WriteLine(root);  
Dim aw As XNamespace = "http://www.adventure-works.com"  
Dim root As XElement = New XElement(aw + "Root", _  
    New XAttribute(XNamespace.Xmlns + "aw", "http://www.adventure-works.com"), _  
    "Content")  
Console.WriteLine(root)  

Visual Basic의 네임 스페이스 접두사를 제어 하는 네임 스페이스 노드를 만드는 대신 일반적으로 사용 전역 네임 스페이스 선언.In Visual Basic, instead of creating a namespace node to control namespace prefixes, you would typically use a global namespace declaration:

Imports <xmlns:aw='http://www.adventure-works.com'>  

Module Module1  
    Sub Main()  
        Dim root As XElement = _  
            <aw:Root>Content</aw:Root>  
        Console.WriteLine(root)  
    End Sub  
End Module  

이 예제는 다음과 같은 출력을 생성합니다.This example produces the following output:

<aw:Root xmlns:aw="http://www.adventure-works.com">Content</aw:Root>  

자세한 내용은 방법: Namespace 접두사 제어 (C#) (LINQ to XML)합니다.For more information, see How to: Control Namespace Prefixes (C#) (LINQ to XML).

기본 Namespace 만들기Creating a Default Namespace

특성 네임 스페이스 수 있는 특성 이름에 "xmlns" 이라는 특수 값을 생성할 때 XML 트리 serialize 되 면 네임 스페이스는로 선언 기본 네임 스페이스입니다.When constructing an attribute that will be a namespace, if the attribute name has the special value of "xmlns", then when the XML tree is serialized, the namespace will be declared as the default namespace. "Xmlns" 자체의 이름으로 특수 한 특성 네임 스페이스가 아닙니다.The special attribute with the name of "xmlns" itself is not in any namespace. 특성의 값이 네임 스페이스 URI입니다.The value of the attribute is the namespace URI.

다음 예제에서는 네임 스페이스 기본 네임 스페이스를 될 하는 방식으로 선언 된 특성이 포함 된 XML 트리를 만듭니다.The following example creates an XML tree that contains an attribute that is declared in such a way that the namespace will become the default namespace:

XNamespace aw = "http://www.adventure-works.com";  
XElement root = new XElement(aw + "Root",  
    new XAttribute("xmlns", "http://www.adventure-works.com"),  
    new XElement(aw + "Child", "content")  
);  
Console.WriteLine(root);  
Dim aw As XNamespace = "http://www.adventure-works.com"  
Dim root As XElement = New XElement(aw + "Root", _  
    New XAttribute("xmlns", "http://www.adventure-works.com"), _  
    New XElement(aw + "Child", "content") _  
)  
Console.WriteLine(root)  

Visual Basic의 경우 기본 네임 스페이스를 만들 네임 스페이스 노드를 만드는 대신 일반적으로 사용 전역 기본 네임 스페이스 선언.In Visual Basic, instead of creating a namespace node to create a default namespace, you would typically use a global default namespace declaration:

Imports <xmlns='http://www.adventure-works.com'>  

Module Module1  
    Sub Main()  
        Dim root As XElement = _  
            <Root>  
                <Child>content</Child>  
            </Root>  
        Console.WriteLine(root)  
    End Sub  
End Module  

이 예제는 다음과 같은 출력을 생성합니다.This example produces the following output:

<Root xmlns="http://www.adventure-works.com">  
  <Child>content</Child>  
</Root>  

XNamespace 원자화XNamespace Atomization

XNamespace 개체는 원자화되도록 보장됩니다. 즉, 두 XNamespace 개체가 똑같은 URI를 갖고 있으면 동일한 인스턴스를 공유합니다.XNamespace objects are guaranteed to be atomized; that is, if two XNamespace objects have exactly the same URI, they will share the same instance. 같음 및 비교 연산자는이 목적을 위해 명시적으로 제공 됩니다.The equality and comparison operators are provided explicitly for this purpose.

확장 된 이름을 사용 하 여Using Expanded Names

형식의 확장된 된 이름을 사용 하는 로컬 이름과 네임 스페이스를 지정 하는 또 다른 방법은 {namespace}name:Another way to specify a namespace and a local name is to use an expanded name in the form {namespace}name:

XElement e = new XElement("{http://www.adventure-works.com}Root",  
     new XAttribute("{http://www.adventure-works.com}Att", "content")  
);  
Console.WriteLine(e);  
Dim e As XElement = New XElement("{http://www.adventure-works.com}Root", _  
     New XAttribute("{http://www.adventure-works.com}Att", "content") _  
)  
Console.WriteLine(e)  

이 예제는 다음과 같은 출력을 생성합니다.This example produces the following output:

<Root p1:Att="content" xmlns:p1="http://www.adventure-works.com" xmlns="http://www.adventure-works.com" />  

이 방법에는 성능과 관련된 문제가 있습니다.This approach has performance implications. 확장된 이름이 포함된 문자열을 LINQ to XMLLINQ to XML에 전달할 때마다 LINQ to XML에서는 이름의 구문을 분석하고 원자화된 네임스페이스를 찾은 다음 원자화된 이름을 찾아야 합니다.Each time that you pass a string that contains an expanded name to LINQ to XMLLINQ to XML, it must parse the name, find the atomized namespace, and find the atomized name. 이 과정에는 CPU 시간이 필요합니다.This process takes CPU time. 성능이 중요 한 경우에 다른 방법을 사용 하는 것이 좋습니다.If performance is important, you may want to use a different approach.

Visual Basic을 사용한 것이 좋습니다 XML 리터럴을 사용 하는 확장 된 이름 사용 하는 포함 되지 않습니다.With Visual Basic, the recommended approach is to use XML literals, which does not involve the use of expanded names.

속성

NamespaceName NamespaceName NamespaceName NamespaceName

이 네임스페이스의 URI(Uniform Resource Identifier)를 가져옵니다.Gets the Uniform Resource Identifier (URI) of this namespace.

None None None None

어떠한 네임스페이스에도 해당하지 않는 XNamespace 개체를 가져옵니다.Gets the XNamespace object that corresponds to no namespace.

Xml Xml Xml Xml

XML URI(http://www.w3.org/XML/1998/namespace)에 해당하는 XNamespace 개체를 가져옵니다.Gets the XNamespace object that corresponds to the XML URI (http://www.w3.org/XML/1998/namespace).

Xmlns Xmlns Xmlns Xmlns

xmlns URI(http://www.w3.org/2000/xmlns/)에 해당하는 XNamespace 개체를 가져옵니다.Gets the XNamespace object that corresponds to the xmlns URI (http://www.w3.org/2000/xmlns/).

메서드

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

지정한 XNamespace가 현재 XNamespace와 같은지 여부를 확인합니다.Determines whether the specified XNamespace is equal to the current XNamespace.

Get(String) Get(String) Get(String) Get(String)

지정된 URI(Uniform Resource Identifier)에 대한 XNamespace를 가져옵니다.Gets an XNamespace for the specified Uniform Resource Identifier (URI).

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

XNamespace의 해시 코드를 가져옵니다.Gets a hash code for this XNamespace.

GetName(String) GetName(String) GetName(String) GetName(String)

XName 및 지정된 로컬 이름을 사용하여 만든 XNamespace 개체를 반환합니다.Returns an XName object created from this XNamespace and the specified local name.

GetType() GetType() GetType() GetType()

현재 인스턴스의 Type을 가져옵니다.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

XNamespace의 URI를 반환합니다.Returns the URI of this XNamespace.

연산자

Addition(XNamespace, String) Addition(XNamespace, String) Addition(XNamespace, String) Addition(XNamespace, String)

XNamespace 개체를 로컬 이름과 결합하여 XName을 만듭니다.Combines an XNamespace object with a local name to create an XName.

Equality(XNamespace, XNamespace) Equality(XNamespace, XNamespace) Equality(XNamespace, XNamespace) Equality(XNamespace, XNamespace)

XNamespace의 두 인스턴스가 같은지 여부를 나타내는 값을 반환합니다.Returns a value indicating whether two instances of XNamespace are equal.

Implicit(String to XNamespace) Implicit(String to XNamespace) Implicit(String to XNamespace) Implicit(String to XNamespace)

URI(Uniform Resource Identifier)가 들어 있는 문자열을 XNamespace로 변환합니다.Converts a string containing a Uniform Resource Identifier (URI) to an XNamespace.

Inequality(XNamespace, XNamespace) Inequality(XNamespace, XNamespace) Inequality(XNamespace, XNamespace) Inequality(XNamespace, XNamespace)

XNamespace의 두 인스턴스가 다른지 여부를 나타내는 값을 반환합니다.Returns a value indicating whether two instances of XNamespace are not equal.

적용 대상

추가 정보