VB.NET, C#, PowerShellを使用しているエンジニアのためのサイト。
基本的な使用方法から開発で役立つTipsまで幅広く取り扱っています。
XMLファイル読み取りサンプルを紹介します。NodeTypeを使用して各種データを取得しています。
メンバ名 | 説明 |
---|---|
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 ノードの子になります。このノードには、バージョン情報およびエンコーディング情報を提供する属性を含めることができます。 |
Dim reader As System.Xml.XmlReader = System.Xml.XmlReader.Create("C:\Work\Test.xml") While reader.Read Select Case reader.NodeType Case Xml.XmlNodeType.Element Console.WriteLine("<{0}>", reader.Name) Case Xml.XmlNodeType.Text Console.WriteLine(reader.Value) Case Xml.XmlNodeType.CDATA Console.WriteLine("<![CDATA[{0}]]>", reader.Value) Case Xml.XmlNodeType.ProcessingInstruction Console.WriteLine("<?{0} {1}?>", reader.Name, reader.Value) Case Xml.XmlNodeType.Comment Console.WriteLine("<!--{0}-->", reader.Value) Case Xml.XmlNodeType.XmlDeclaration Console.WriteLine("<?xml version='1.0'?>") Case Xml.XmlNodeType.Document Case Xml.XmlNodeType.DocumentType Console.WriteLine("<!DOCTYPE {0} [{1}]", reader.Name, reader.Value) Case Xml.XmlNodeType.EntityReference Console.WriteLine(reader.Name) Case Xml.XmlNodeType.EndElement Console.WriteLine("</{0}>", reader.Name) End Select End While 'リーダーを閉じる reader.Close()
'サンプルXMLファイル <?xml version="1.0" encoding="utf-8"?> <!--アドレスリスト--> <Address_Lists> <AddressList ID="111"> <ZIP_CODE>123-4567</ZIP_CODE> <ADDRESS>東京都渋谷区</ADDRESS> </AddressList> <AddressList ID="222"> <ZIP_CODE>333-7777</ZIP_CODE> <ADDRESS>北海道苫小牧市</ADDRESS> </AddressList> <AddressList ID="333"> <ZIP_CODE>111-2222</ZIP_CODE> <ADDRESS>茨城県水戸市</ADDRESS> </AddressList> </Address_Lists>