XmlTextWriter クラスとは? わかりやすく解説

XmlTextWriter クラス

W3C 勧告Extensible Markup Language (XML) 1.0』および勧告Namespaces in XML』に準拠する XML データ格納するストリームまたはファイル高速に、非キャッシュで、前方向に生成する方法提供するライタ表します

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

Public Class XmlTextWriter
    Inherits XmlWriter
Dim instance As XmlTextWriter
public class XmlTextWriter : XmlWriter
public class XmlTextWriter extends XmlWriter
public class XmlTextWriter extends
 XmlWriter
解説解説

このクラスは、XmlWriter クラス実装ます。

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 つの子要素重複しないようにします。子要素は、名前空間宣言からプリフィックスピック アップします

 <root xmlns:x="urn:1">
  <x:item/>
  <x:item/>
 </x:root>

XmlTextWriter使用すると、現在の名前空間宣言オーバーライドできます名前空間 URI "123" が "abc" でオーバーライドされ、XML 要素 <x:node xmlns:x="abc"/>作成する例を次に示します

 w.WriteStartElement("x","node","123");
 w.WriteAttributeString("xmlns","x",null,"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作成します

 <x:root xmlns:x="urn:1">
  <y:item y:attr="123" xmlns:y="urn:1" />
 </x:root>

名前空間競合発生すると、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>書き込みます

 Double price = 19.95;
 writer.WriteElementString("price", XmlConvert.ToString(price));

XmlTextWriter次のことをチェックしません。

XML書き込みに関する詳細については、「XmlWriter による XML書き方」を参照してください

セキュリティについての考慮事項
継承階層継承階層
System.Object
   System.Xml.XmlWriter
    System.Xml.XmlTextWriter
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「XmlTextWriter クラス」の関連用語

XmlTextWriter クラスのお隣キーワード
検索ランキング

   

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



XmlTextWriter クラスのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

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

©2025 GRAS Group, Inc.RSS