この記事は機械翻訳されています。英語版の記事を表示するには、[英語] のチェック ボックスをオンにしてください。また、テキストにマウス ポインターを合わせると、ポップアップ ウィンドウに英語のテキストを表示することもできます。
翻訳
英語

XName クラス

 

公開日: 2016年10月

XML 要素または属性の名前を表します。

名前空間:   System.Xml.Linq
アセンブリ:  System.Xml.Linq (System.Xml.Linq.dll 内)

System.Object
  System.Xml.Linq.XName

[SerializableAttribute]
public sealed class XName : IEquatable<XName>, ISerializable

名前説明
System_CAPS_pubpropertyLocalName

名前のローカルの (非修飾) 部分を取得します。

System_CAPS_pubpropertyNamespace

完全修飾名の名前空間の部分を取得します。

System_CAPS_pubpropertyNamespaceName

URI を返す、 XNamespace この XNameします。

名前説明
System_CAPS_pubmethodEquals(Object)

決定するかどうか、指定した XName と同じになりますが XNameです。(Object.Equals(Object) をオーバーライドします。)

System_CAPS_pubmethodSystem_CAPS_staticGet(String)

取得、 XName 展開名からのオブジェクト。

System_CAPS_pubmethodSystem_CAPS_staticGet(String, String)

取得、 XName ローカル名と名前空間からのオブジェクト。

System_CAPS_pubmethodGetHashCode()

この XName のハッシュ コードを取得します。(Object.GetHashCode() をオーバーライドします。)

System_CAPS_pubmethodGetType()

現在のインスタンスの Type を取得します。(Object から継承されます。)

System_CAPS_pubmethodToString()

形式の XML の展開名を返します {namespace}localnameします。(Object.ToString() をオーバーライドします。)

名前説明
System_CAPS_puboperatorSystem_CAPS_staticEquality(XName, XName)

XName の 2 つのインスタンスが等しいかどうかを示す値を返します。

System_CAPS_puboperatorSystem_CAPS_staticImplicit(String to XName)

展開の XML 名として書式設定文字列に変換します (つまり、{namespace}localname) に、 XName オブジェクトです。

System_CAPS_puboperatorSystem_CAPS_staticInequality(XName, XName)

2 つのインスタンスかどうかを示す値を返すの XName が等しくないです。

名前説明
System_CAPS_pubinterfaceSystem_CAPS_privmethodIEquatable<XName>.Equals(XName)

現在の XName が指定した XName と等しいかどうかを示します。

System_CAPS_pubinterfaceSystem_CAPS_privmethodISerializable.GetObjectData(SerializationInfo, StreamingContext)

SerializationInfo に、ターゲット オブジェクトをシリアル化するために必要なデータを設定します。

XML 名には、名前空間とローカル名が含まれます。 A 完全修飾名 名前空間とローカル名を組み合わせたものです。

XName パブリック コンス トラクターは含まれません。 このクラスが暗黙的に変換を提供する代わりに、 String を作成することができます、 XNameです。 この変換を使用する最も一般的な場所は、要素または属性を作成する場合: 最初の引数、 XElement コンス トラクターは、 XNameです。 文字列を渡すことによって活用する暗黙的な変換です。 次のコードでは、ない名前空間の名前の要素を作成します。


                XElement root = new XElement("ElementName", "content");
Console.WriteLine(root);

Visual basic では、XML リテラルを使用する適切なは。


                Dim root As XElement = <ElementName>content</ElementName>
Console.WriteLine(root)

この例を実行すると、次の出力が生成されます。


<ElementName>content</ElementName>

文字列を割り当てる、 XName から暗黙の変換を使用して Stringします。

Visual Basic の例を作成、 XElement XML リテラルを使用します。 XML リテラルを使用する場合でも、 XName にオブジェクトを作成、 XElementです。

さらに、呼び出す、 Get のメソッド、 XName オブジェクトです。 ただし、推奨される方法は、文字列からの暗黙的な変換を使用します。

XML と同様、 XName 、名前空間に置くか、名前空間なしで実行できます。

C# で作成するための推奨される方法、 XName 名前空間で宣言することです、 XNamespace オブジェクト、加算演算子の上書きを使用しています。

Visual Basic XML リテラルとグローバル名前空間宣言を使用して、名前空間内の XML を作成することをお勧めします。


                XNamespace aw = "http://www.adventure-works.com";
XElement root = new XElement(aw + "ElementName", "content");
Console.WriteLine(root);

この例を実行すると、次の出力が生成されます。


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

Namespace のプロパティ、 XName オブジェクトを null にできないことが保証されます。 場合、 XName ない名前空間にある、 Namespace プロパティに設定する Noneです。 次のコードでは、これを示しています。


                XElement root = new XElement("ElementName", "content");
if (root.Name.Namespace == XNamespace.None)
    Console.WriteLine("The element is in no namespace.");
else
    Console.WriteLine("The element is in a namespace.");

この例を実行すると、次の出力が生成されます。

The element is in no namespace.

作成することも、 XName 形式で展開された XML 名から {namespace}localname:


                XElement root = new XElement("{http://www.adventure-works.com}ElementName", "content");
Console.WriteLine(root);

この例を実行すると、次の出力が生成されます。


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

注意してくださいを作成する、 XName 展開名を作成するよりも非効率です、 XNamespace オブジェクトと加算演算子の上書きを使用しています。 グローバル名前空間をインポートして、Visual Basic で XML リテラルを使用するより非効率です。

作成する場合、 XName 展開名を使用して、LINQ to XML は名前空間のアトミック化されたインスタンスを見つける必要があります。 この作業は、拡張名を使用するたびに繰り返す必要があります。 この余分な時間は、LINQ クエリを記述するときに、無視する可能性があります。ただし、あります大幅な大きな XML ツリーを作成するときにします。

XName オブジェクトが保証されて、最小単位に分割します。つまり、2 つ XName オブジェクトがある正確に同じ名前空間とまったく同じローカル名は同じインスタンスを共有します。 等値と比較演算子は、この目的でも明示的に指定します。

その他の利点は、この機能は、高速なクエリを実行できます。 要素または属性の名前をフィルター処理する場合、述語で比較は identity 比較については、値を比較しないを使用します。 2 つの参照が実際には 2 つの文字列を比較するよりも、同じオブジェクトを参照しているかを決定する高速です。

ユニバーサル Windows プラットフォーム
8 以降で使用可能
.NET Framework
3.5 以降で使用可能
ポータブル クラス ライブラリ
サポート対象: 移植可能 .NET プラットフォーム
Silverlight
2.0 以降で使用可能
Windows Phone Silverlight
7.0 以降で使用可能
Windows Phone
8.1 以降で使用可能

この型のパブリック static (Visual Basic では Shared ) メンバーはスレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。

トップに戻る
表示: