XmlTextWriter クラス
アセンブリ: System.Xml (system.xml.dll 内)


![]() |
---|
Microsoft .NET Framework version 2.0 リリースでは、System.Xml.XmlWriter.Create メソッドと XmlWriterSettings クラスを使用して XmlWriter インスタンスを作成することをお勧めします。これにより、このリリースで導入されたすべての新機能を十分に活用できます。詳細については、「XML ライタの作成」を参照してください。 |
XmlTextWriter は、現在の要素スタックで定義されたすべての名前空間に対応する名前空間スタックを保持します。XmlTextWriter を使用すると、手動で名前空間を宣言できます。
w.WriteStartElement("root"); w.WriteAttributeString("xmlns", "x", null, "urn:1"); w.WriteStartElement("item","urn:1"); w.WriteEndElement(); w.WriteStartElement("item","urn:1"); w.WriteEndElement(); w.WriteEndElement();
上記の C# コードで、次の出力が生成されます。XmlTextWriter は、名前空間宣言をルート要素に昇格させ、2 つの子要素で重複しないようにします。子要素は、名前空間宣言からプリフィックスをピック アップします。
XmlTextWriter を使用すると、現在の名前空間宣言をオーバーライドできます。名前空間 URI "123" が "abc" でオーバーライドされ、XML 要素 <x:node xmlns:x="abc"/> を作成する例を次に示します。
プリフィックスを引数として取得する書き込みメソッドを使用して、使用するプリフィックスを指定することもできます。2 つの異なるプリフィックスを同じ名前空間 URI に割り当て、XML テキスト <x:root xmlns:x="urn:1"><y:item xmlns:y="urn:1"/></x:root> を作成する例を次に示します。
XmlTextWriter w = new XmlTextWriter(Console.Out); w.WriteStartElement("x","root","urn:1"); w.WriteStartElement("y","item","urn:1"); w.WriteEndElement(); w.WriteEndElement(); w.Close();
異なるプリフィックスを同じ名前空間 URI に割り当てる複数の名前空間宣言がある場合、XmlTextWriter は、名前空間宣言のスタックを逆方向に検索し、最も近いものを選択します。
XmlTextWriter w = new XmlTextWriter(Console.Out); w.Formatting = Formatting.Indented; w.WriteStartElement("x","root","urn:1"); w.WriteStartElement("y","item","urn:1"); w.WriteAttributeString("attr","urn:1","123"); w.WriteEndElement(); w.WriteEndElement(); w.Close();
上記の C# の例では、WriteAttributeString 呼び出しでプリフィックスを指定しないため、ライタは、名前空間スタックに最後にプッシュされたプリフィックスを使用し、次の XML を作成します。
名前空間の競合が発生すると、XmlTextWriter は、代替プリフィックスを生成して競合を解決します。たとえば、属性と要素のプリフィックスが同じで、名前空間が異なる場合、XmlWriter は、属性に対し代替プリフィックスを生成します。生成されたプリフィックスには、n{i} という名前が付けられます。i は 1 から始まる数字です。この数字は、要素ごとに 1 にリセットされます。
名前空間 URI に関連付けられる属性は、プリフィックスを持つ必要があります (既定の名前空間は属性に適用されません)。これは、W3C 勧告『Namespaces in XML』のセクション 5.2 に準拠します。属性が名前空間 URI を参照していても、プリフィックスを指定していない場合は、ライタが属性のプリフィックスを生成します。
空の要素を書き込むと、タグ名と終了タグの間に <item /> などの空白が追加されます。これにより、以前のバージョンのブラウザとの互換性を保つことができます。
String をメソッド パラメータとして使用すると、null 参照 (Visual Basic では Nothing) と String.Empty は等しくなります。String.Empty は、W3C の規則に準拠します。
厳密に型指定されたデータを書き込むには、XmlConvert クラスを使用してデータ型を文字列に変換します。たとえば、次に示す C# コードは、データを Double から String に変換し、要素 <price>19.95</price> を書き込みます。
-
指定したエンコーディングに適合しない Unicode 文字。指定したエンコーディングに Unicode 文字が適合しない場合、XmlTextWriter は、その Unicode 文字を文字エンティティにエスケープしません。
XML の書き込みに関する詳細については、「XmlWriter による XML の書き方」を参照してください。
セキュリティについての考慮事項XmlTextWriter クラスを使用する際の考慮事項を次に示します。
-
XmlTextWriter によって例外がスローされると、本来アプリケーションには表示されてはならないパス情報が開示されてしまう可能性があります。アプリケーションで例外をキャッチし、適切に処理する必要があります。
-
他のアプリケーションに XmlTextWriter を渡すと、基になるストリームがそのアプリケーションに公開されます。信頼度の低いアプリケーションに XmlTextWriter を渡す場合は、Create メソッドによって作成される XmlWriter オブジェクトを使用する必要があります。
-
XmlTextWriter は、WriteDocType メソッドまたは WriteRaw メソッドに渡されるデータの検証を行いません。これらのメソッドに任意のデータを渡さないでください。
-
信頼関係のないソースからのサポート コンポーネント (Encoding オブジェクトなど) は受け入れないようにしてください。

System.Xml.XmlWriter
System.Xml.XmlTextWriter


Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


XmlTextWriter コンストラクタ (String, Encoding)
アセンブリ: System.Xml (system.xml.dll 内)

Dim filename As String Dim encoding As Encoding Dim instance As New XmlTextWriter(filename, encoding)



Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


XmlTextWriter コンストラクタ (TextWriter)
アセンブリ: System.Xml (system.xml.dll 内)

Public Sub New ( _ w As TextWriter _ )
public XmlTextWriter ( TextWriter w )
public: XmlTextWriter ( TextWriter^ w )
public XmlTextWriter ( TextWriter w )
public function XmlTextWriter ( w : TextWriter )
- w
書き込む TextWriter。TextWriter が既に正しいエンコーディングに設定されていることを前提にしています。


Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


XmlTextWriter コンストラクタ (Stream, Encoding)
アセンブリ: System.Xml (system.xml.dll 内)




Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


XmlTextWriter コンストラクタ
![]() |
---|
Microsoft .NET Framework version 2.0 リリースでは、System.Xml.XmlWriter.Create メソッドと XmlWriterSettings クラスを使用して XmlWriter インスタンスを作成することをお勧めします。これにより、このリリースで導入されたすべての新機能を十分に活用できます。詳細については、「XML ライタの作成」を参照してください。 |

名前 | 説明 |
---|---|
XmlTextWriter (TextWriter) | 指定した TextWriter を使用して XmlTextWriter クラスのインスタンスを作成します。 .NET Compact Framework によってサポートされています。 |
XmlTextWriter (Stream, Encoding) | 指定したストリームおよびエンコーディングを使用して、XmlTextWriter クラスのインスタンスを作成します。 .NET Compact Framework によってサポートされています。 |
XmlTextWriter (String, Encoding) | 指定したファイルを使用して、XmlTextWriter クラスのインスタンスを作成します。 .NET Compact Framework によってサポートされています。 |

XmlTextWriter プロパティ

名前 | 説明 | |
---|---|---|
![]() | Settings | この XmlWriter インスタンスを作成するために使用した XmlWriterSettings オブジェクトを取得します。 ( XmlWriter から継承されます。) |
![]() | WriteState | オーバーライドされます。 ライタの状態を取得します。 |
![]() | XmlLang | オーバーライドされます。 現在の xml:lang スコープを取得します。 |
![]() | XmlSpace | オーバーライドされます。 現在の xml:space スコープを表す XmlSpace を取得します。 |

XmlTextWriter メソッド


名前 | 説明 | |
---|---|---|
![]() | Dispose | XmlWriter によって使用されているアンマネージ リソースを解放し、オプションでマネージ リソースも解放します。 ( XmlWriter から継承されます。) |
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) |

XmlTextWriter メンバ
W3C 勧告『Extensible Markup Language (XML) 1.0』および勧告『Namespaces in XML』に準拠する XML データを格納するストリームまたはファイルを高速に、非キャッシュで、前方向に生成する方法を提供するライタを表します。
XmlTextWriter データ型で公開されるメンバを以下の表に示します。


名前 | 説明 | |
---|---|---|
![]() | Settings | この XmlWriter インスタンスを作成するために使用した XmlWriterSettings オブジェクトを取得します。(XmlWriter から継承されます。) |
![]() | WriteState | オーバーライドされます。 ライタの状態を取得します。 |
![]() | XmlLang | オーバーライドされます。 現在の xml:lang スコープを取得します。 |
![]() | XmlSpace | オーバーライドされます。 現在の xml:space スコープを表す XmlSpace を取得します。 |


名前 | 説明 | |
---|---|---|
![]() | Dispose | XmlWriter によって使用されているアンマネージ リソースを解放し、オプションでマネージ リソースも解放します。 (XmlWriter から継承されます。) |
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) |

Weblioに収録されているすべての辞書からXmlTextWriterを検索する場合は、下記のリンクをクリックしてください。

- XmlTextWriterのページへのリンク