0
1つのDataTableに多数のレベルとパラメータを含むXMLをどのように変換できますか? 私は、XMLのインポートをどうExcelなどの気にいらが必要になります。多くのレベルのXmlを1つのDataTableに変換する
<?xml version='1.0' encoding='UTF-8'?>
<Document>
<tag1 param1="param">
<tag2 param2="param">
<tag3 param3="param">
<tag4_1 param41="param">VALUE1</tag4_1>
<tag4_2 param42="param">VALUE2</tag4_2>
</tag3>
</tag2>
</tag1>
<tag1 param1="param">
<tag2 param2="param">
<tag3 param3="param">
<tag4_1 param41="param">VALUE1</tag4_1>
<tag4_2 param42="param">VALUE2</tag4_2>
</tag3>
</tag2>
</tag1>
</Document>
Excelの例:
は、それはそれを行うための簡単な方法を持っていますか?
このソリューション - ここではテーブルの多くになりますので、それは、私がしたいことはありません:
var dataSet = new DataSet();
dataSet.ReadXml(xml, XmlReadMode.InferSchema);
は、私が知っているデータオブジェクトにXMLを変換する文字列
にXMLを取得する文字列
に変換するために、通常のXMLDocument関数を使用どのようにこのXMLでcreatオブジェクト。私はスキーマとクラスを持っています。私はテーブルにこのXMLを表示したい。それは、情報ファイルが持っていることを示すためにのみ、仮想化のためです。私は単純なテーブルを生成することはできませんが、問題は....それは、 "tag1_tag2_tag_3_tag4_1"または "tag1_tag2_tag_3_tag4_1_param41"のようなすべてのデータを表示する大きな列名を持つテーブルにすることができます – Alex
私はあなたが知っていると仮定しているフィールドはどのように見える必要があります。 必要な列名を使用して、テーブルを作成します。次に、クラスオブジェクトにXMLを取得し、次にどの要素がどの列に入り、行ごとに行を作成するかを操作します。 –
手動でテーブルを作成しますか?ワオ。私のクラス/スキームは約500element/fieldsを持っていますが、xmlは500から50-60の差フィールドしか持たないかもしれません。私の質問は「dataTableをいかに簡単に作成するのですか?答え:白い100500行のコードは正しくありません:) これを行う簡単な方法がない場合は、各XML要素を読み取るためにloopを使ってcreateメソッドを作成する必要があります。列が存在するかどうかをチェックし、列が存在しない場合はテーブルにデータを追加する - 各要素に対して新しい列を追加する。 – Alex