DB からのデータに基づいて XML ファイルを生成しなければならない状況があります。DBに格納されるデータの構造が問題です。実際には、すべての TAG とその値は、終了 TAG も含むテーブルに格納されます。
たとえば、生成される次の XML を考えてみましょう。
<x>
<y>
<a>cc</a>
<b></b>
</y>
<y>
<a>oo</a>
<b>kk</b>
</y>
</x>
この XML のデータは、次のように DB に格納されます。
IS_CONTAINER TAG_NAME TAG_VALUE
------------ -------- ---------
1 x NULL
1 y NULL
0 a cc
0 b NULL
1 /y NULL
1 y NULL
0 a oo
0 b kk
1 /y NULL
1 /x NULL
IS_CONTAINER = 1
これは、タグに子が含まれており、その終了タグがレコードに含まれていることを意味します。x
&などy
。asIS_CONTAINER = 0
は、サブ要素のない単一の XML 要素であることを意味するため、値を設定した後、終了 TAG を閉じる/追加する必要があります。a
&などb
。
毎回&メソッドXmlTextWriter
を明示的に呼び出す必要があるため、使用できないと思います。どの要素が「\」で始まるかを追跡する必要があるため、不必要に複雑になります。これは、以前に開いた要素を閉じる必要があることを意味します。WriteStartElement
WriteEndElement
すべての行が読み取られるときにデータをファイルに書き込むために使用でき、テキスト ファイルに書き込む前TextWriter
にそれぞれに「<」と「>」の文字を追加するだけですが、最初の行として自分自身TAG_NAME
を書き込む必要があることも意味します。<?xml version="1.0" encoding="iso-8859-1" standalone="yes"?>
ファイルの行。すべてが手動で行われます。
問題が何であるかを知っていただければ幸いです。
何か不足している場合は、何か良い方法を教えてください。