VB.NET, C#, PowerShellを使用しているエンジニアのためのサイト。
基本的な使用方法から開発で役立つTipsまで幅広く取り扱っています。
ノードの型を取得するには、NodeTypeプロパティを使用します。サンプルでは、ノードの型がコメントの場合に「このノードはコメントです」と表示をします。
参考としてXmlNodeTypeのメンバ一覧を載せておきます。
メンバ名 | 説明 |
---|---|
Attribute | 属性 (例 : id='123' )。
Attribute ノードには、Text および EntityReference の 2 つの子ノード型を含めることができます。Attribute ノードは、他のノード型の子ノードになることはありません。このノードは、Element の子ノードとは見なされません。 |
CDATA | CDATA セクション (例 : <![CDATA[my escaped text]]> )。
CDATA セクションは、通常はマークアップとして認識されるテキスト ブロックをエスケープするために使用されます。CDATA ノードには、子ノードを含めることができません。このノードは、DocumentFragment、EntityReference、Element の各ノードの子にすることができます。 |
Comment | コメント (例 : <!-- my comment --> )。
Comment ノードには、子ノードを含めることができません。このノードは、Document、DocumentFragment、Element、EntityReference の各ノードの子にすることができます。 |
Document | ドキュメント ツリーのルートして、XML ドキュメント全体へのアクセスを実現するドキュメント オブジェクト。
Document ノードには、XmlDeclaration、Element (最大 1 つ)、ProcessingInstruction、Comment、DocumentType の各子ノード型を含めることができます。このノードは、任意のノード型の子になることはありません。 |
DocumentFragment | ドキュメント フラグメント。
DocumentFragment ノードは、実際にドキュメントに含まれることはなく、ドキュメントにノードまたはサブツリーを関連付けます。DocumentFragment ノードには、Element、ProcessingInstruction、Comment、Text、CDATA、EntityReference の各子ノード型を含めることができます。このノードは、任意のノード型の子になることはありません。 |
DocumentType | 次のようなタグで示されるドキュメント型宣言 (例 : <!DOCTYPE...> )。
DocumentType ノードには、Notation および Entity の 2 つの子ノード型を含めることができます。このノードは、Document ノードの子にすることができます。 |
Element | 要素 (例 : <item> )。
Element ノードには、Element、Text、Comment、ProcessingInstruction、CDATA、EntityReference の各子ノード型を含めることができます。このノードは、Document、DocumentFragment、Element、EntityReference の各ノードの子にすることができます。 |
EndElement | 終了要素タグ (例 : </item> )。
XmlReader が要素の末尾に達したときに EndElement ノードが返されます。 |
EndEntity | ResolveEntity を呼び出した結果、XmlReader がエンティティ置換の末尾に到達したときに返されます。 |
Entity | エンティティ宣言 (例 : <!ENTITY...> )。
Entity ノードには、展開されたエンティティを表す子ノード (Text ノードや EntityReference ノードなど) を含めることができます。このノードは、DocumentType ノードの子にすることができます。 |
EntityReference | エンティティへの参照 (例 : # )。
EntityReference ノードには、Element、ProcessingInstruction、Comment、Text、CDATA、および EntityReference の各子ノード型を含めることができます。このノードは、Attribute、DocumentFragment、Element、および EntityReference の各ノードの子にすることができます。 |
None | Read メソッドが呼び出されなかった場合に、XmlReader によって返されます。 |
Notation | ドキュメント型宣言内の表記 (例 : <!NOTATION...> )。
Notation ノードには、子ノードを含めることができません。このノードは、DocumentType ノードの子にすることができます。 |
ProcessingInstruction | 処理命令 (例 : <?pi test?> )。
ProcessingInstruction ノードには、子ノードを含めることができません。このノードは、Document、DocumentFragment、Element、EntityReference の各ノードの子にすることができます。 |
SignificantWhitespace | 混合コンテンツ モデル内のマークアップ間にある空白、または xml:space="preserve"
スコープ内の空白。 |
Text | ノードのテキストの内容。
Text ノードには、子ノードを含めることができません。このノードは、Attribute、DocumentFragment、Element、EntityReference の各ノードの子にすることができます。 |
Whitespace | マークアップ間の空白。 |
XmlDeclaration | XML 宣言 (例 : <?xml version='1.0'?> )。
XmlDeclaration ノードは、ドキュメント内の最初のノードにする必要があります。このノードには、子を含めることができません。このノードは、Document ノードの子になります。このノードには、バージョン情報およびエンコーディング情報を提供する属性を含めることができます。 |
System.Xml.XmlDocument xmlDoc = new System.Xml.XmlDocument(); // XMLファイルを読み込む xmlDoc.Load(@"C:\Work\Test.xml"); //ルート要素を取得する System.Xml.XmlElement rootElement = xmlDoc.DocumentElement; foreach ( System.Xml.XmlNode child in rootElement.ChildNodes ) { //コメントかどうかを確認する if ( child.NodeType == System.Xml.XmlNodeType.Comment ) Console.WriteLine("このノードはコメントです"); }