XNamespace Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
XML ad alanını temsil eder. Bu sınıf devralınamaz.
public ref class XNamespace sealed
public sealed class XNamespace
type XNamespace = class
Public NotInheritable Class XNamespace
- Devralma
-
XNamespace
Açıklamalar
Bu sınıf, ad alanlarının XML yapısını temsil eder.
Her XName bir XNamespace içerir. Bir öğe bir ad alanında olmasa bile, öğesinde XName yine de bir ad alanı (. XNamespace.None) bulunur.
XName.Namespace özelliğinin null olmadığı garanti edilir.
XNamespace nesnesi oluşturma
Nesne oluşturmanın XNamespace en yaygın yolu, nesneye yalnızca bir dize atamaktır. Daha sonra ekleme işlecinin geçersiz kılmasını kullanarak ad alanını yerel bir adla birleştirebilirsiniz. Aşağıdaki örnekte bu deyim gösterilmektedir:
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)
Bununla birlikte, Visual Basic'te genellikle aşağıdaki gibi genel bir varsayılan ad alanı bildirirsiniz:
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
Bu örnek aşağıdaki çıkışı oluşturur:
<Root xmlns="http://www.adventure-works.com">Content</Root>
Bir dizeyi XNamespace öğesine atamak, String'den örtük dönüşüm kullanır.
Daha fazla bilgi ve örnek için bkz. C# dilinde ad alanlarıyla belge oluşturma (LINQ to XML).
Visual Basic'te ad alanlarını kullanma hakkında daha fazla bilgi için bkz. XML ad alanlarıyla çalışma.
Ad alanı ön eklerini denetleme
Ad alanı bildiren bir öznitelik oluşturursanız, öznitelikte belirtilen ön ek serileştirilmiş XML'de kalıcı hale getirilir. Ön eki olan bir ad alanı bildiren bir öznitelik oluşturmak için, özniteliğin adının ad alanının ve özniteliğin Xmlnsadının ad alanı öneki olduğu bir öznitelik oluşturursunuz. özniteliğinin değeri, ad alanının URI'dir. Aşağıdaki örnekte bu deyim gösterilmektedir:
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'te, ad alanı ön eklerini denetlemek için bir ad alanı düğümü oluşturmak yerine genellikle genel ad alanı bildirimi kullanırsınız:
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
Bu örnek aşağıdaki çıkışı oluşturur:
<aw:Root xmlns:aw="http://www.adventure-works.com">Content</aw:Root>
Daha fazla bilgi için bkz. Ad alanı ön eklerini denetleme.
Varsayılan ad alanı oluşturma
Ad alanı olacak bir öznitelik oluşturulurken, öznitelik adında "xmlns" özel değeri varsa, XML ağacı seri hale getirildiğinde, ad alanı varsayılan ad alanı olarak bildirilir. Adı "xmlns" olan özel öznitelik herhangi bir ad alanında değildir. özniteliğinin değeri ad alanı URI'dir.
Aşağıdaki örnek, ad alanının varsayılan ad alanı olacağı şekilde bildirilen bir öznitelik içeren bir XML ağacı oluşturur:
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'te, varsayılan ad alanı oluşturmak için bir ad alanı düğümü oluşturmak yerine genellikle genel bir varsayılan ad alanı bildirimi kullanırsınız:
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
Bu örnek aşağıdaki çıkışı oluşturur:
<Root xmlns="http://www.adventure-works.com">
<Child>content</Child>
</Root>
XNamespace atomizasyonu
XNamespace nesnelerin atomize edilmesi garanti edilir; başka bir ifadeyle, iki XNamespace nesne tam olarak aynı URI'ye sahipse aynı örneği paylaşır. Eşitlik ve karşılaştırma işleçleri bu amaçla açıkça sağlanır.
Genişletilmiş adları kullanma
Ad alanı ve yerel ad belirtmenin bir diğer yolu da biçiminde {namespace}namegenişletilmiş bir ad kullanmaktır:
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)
Bu örnek aşağıdaki çıkışı oluşturur:
<Root p1:Att="content" xmlns:p1="http://www.adventure-works.com" xmlns="http://www.adventure-works.com" />
Bu yaklaşımın performans üzerindeki etkileri vardır. Her genişletilmiş ad içeren bir dizeyi LINQ to XML'ye geçirdiğinizde, adı ayrıştırması, atomize ad alanını bulması ve atomize edilen adı bulunması gerekir. Bu işlem CPU süresini alır. Performans önemliyse farklı bir yaklaşım kullanmak isteyebilirsiniz.
Visual Basic ile önerilen yaklaşım, genişletilmiş adların kullanılmasını içermeyen XML değişmez değerlerini kullanmaktır.
Özellikler
| Name | Description |
|---|---|
| NamespaceName |
Bu ad alanının Tekdüzen Kaynak Tanımlayıcısını (URI) alır. |
| None |
Ad alanına XNamespace karşılık gelen nesneyi alır. |
| Xml |
XNamespace XML URI'sine ( |
| Xmlns |
XNamespace XMLns URI'sine ( |
Yöntemler
| Name | Description |
|---|---|
| Equals(Object) |
Belirtilen XNamespace öğesinin geçerli XNamespaceöğesine eşit olup olmadığını belirler. |
| Get(String) |
Belirtilen Tekdüzen Kaynak Tanımlayıcısı (URI) için bir XNamespace alır. |
| GetHashCode() |
Bu XNamespaceiçin bir karma kodu alır. |
| GetName(String) |
Bundan XName oluşturulan bir XNamespace nesneyi ve belirtilen yerel adı döndürür. |
| GetType() |
Geçerli örneğin Type alır. (Devralındığı yer: Object) |
| MemberwiseClone() |
Geçerli Objectbasit bir kopyasını oluşturur. (Devralındığı yer: Object) |
| ToString() |
Bu XNamespaceöğesinin URI'sini döndürür. |
İşleçler
| Name | Description |
|---|---|
| Addition(XNamespace, String) |
Oluşturmak için bir XNamespace nesneyi yerel adla birleştirir XName. |
| Equality(XNamespace, XNamespace) |
İki örneğinin XNamespace eşit olup olmadığını belirten bir değer döndürür. |
| Implicit(String to XNamespace) |
Tekdüzen Kaynak Tanımlayıcısı (URI) içeren bir dizeyi öğesine XNamespacedönüştürür. |
| Inequality(XNamespace, XNamespace) |
İki örneğinin XNamespace eşit olup olmadığını belirten bir değer döndürür. |