XmlDocument.InnerXml プロパティとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > XmlDocument.InnerXml プロパティの意味・解説 

XmlDocument.InnerXml プロパティ

現在のノードの子を表すマークアップを取得または設定します。

名前空間: System.Xml
アセンブリ: System.Xml (system.xml.dll 内)
構文構文

例外例外
例外の種類条件

XmlException

このプロパティを設定したときに指定した XML は、整形式ではありません。

解説解説

このプロパティを設定すると、ノードの子を指定された文字列の解析済みの内容に置き換えます。解析は、現在の名前空間コンテキストで実行されます。

InnerXml は、冗長な名前空間宣言を削除します。この結果、カット アンド ペースト操作を何度も実行しても、冗長な名前空間宣言によってドキュメント サイズが増加することはありません。次の XSL ドキュメントを例に説明します。

<xsl:stylesheet version="1.0" 
      xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
     <xsl:template match="stock">
         ...
     </xsl:template>
    </xsl:stylesheet>

スタイルシート ノードの InnerXml プロパティは、次の文字列を返します。

<xsl:template match="stock" 
      xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
     ...
    </xsl:template>

ノードの ID の保存に使用される、追加の xmlns:xsl 名前空間宣言に注意してください。この内部 XML 文字列を再挿入した場合は、元のドキュメントが返されます。つまり、親の xsl:stylesheet 要素に既に xmlns:xsl 名前空間宣言がある場合、InnerXml は xmlns:xsl 名前空間宣言が冗長であると認識して、それを削除します。

既定の名前空間がないドキュメントから既定の名前空間があるドキュメントに InnerXml を移動した場合、動作は少し異なります。次の XML 文字列で説明します。

<test>
      <item>123</item>
    </test>

InnerXml は、名前空間宣言のない書式なし XML 文字列を返します。

<item>123</item>

その後、この文字列を既定の名前空間があるドキュメントに挿入した場合を次に示します。

<test2 xmlns="urn:1">
    </test>

InnerXml はコンテキスト内の文字列を解析し、新しいノードが urn:1 名前空間をピック アップします。結果は次のようになります。

<test2 xmlns="urn:1">
      <item>123</item>
    </test>

ここで InnerXml を要求すると、次の結果が返されます。

<item xmlns="urn:1">123</item>

挿入した項目が名前空間のないドキュメントに由来しているという事実をその挿入した項目に明示的に保存する場合は、xmlns= "" 宣言を手動で追加し、返される文字列を挿入する必要があります。

<item xmlns="">123</item>

この最終的な結果を次に示します。

  1. 名前空間を使用しないドキュメント間での InnerXml のカット アンドペーストはクリーンで単純です。文字列に冗長な "xmlns" は作成されません。

  2. InnerXml は、複数の名前空間のあるドキュメント (つまり、XSL スタイルシート) 間でカット アンド ペーストすることもできます。

  3. xmlns:xsl 宣言は文字列に自動的に出現し、ノードの階層構造で見えなくなります。

  4. InnerXml を既定の名前空間のないドキュメントから既定の名前空間のあるドキュメントに移動している場合、新しいノードは新しい既定の名前空間をピック アップします。

InnerXml が現在ドキュメントに定義されていないエンティティ参照を含むテキストを使用して設定されている場合、結果のツリーには空の EntityReference ノードが含まれます。

このプロパティは、DOM (Document Object Model) に対する Microsoft 拡張機能です。

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照



英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

XmlDocument.InnerXml プロパティのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



XmlDocument.InnerXml プロパティのページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS