私はこのXMLを持っています:
<container_1 attr1="..." attr2="..." attr3="...">
<rekord_1>
<type_1 attr1="..." attr2="..." ... />
<type_2 attr1="..." attr2="..." ... />
</rekord_1>
<rekord_2>... </rekord_2>
.
.
<rekord_N> ... </rekord_N>
</container_1>
必要な方法で解析し、コンソール アプリで表示することはできますが (およびいくつかのループを使用) XMLElements
、XMLNodeLists
GUI とテーブル ビューを使用してアプリを作成したいと考えています。私のフォーム アプリは XML を読み取ることができましたが、現在 1 つのタグしか処理できません。たとえば、container_1
タグを取得すると、それ自体では の属性のみが出力されますが、表ビューcontainer_1
で下のレコードも表示したいとします。container_1
コンソールで以前のプログラムのように表示できるようにしたい。
要素/属性を操作できるように、XML からデータを取得するにはどうすればよいですか? テーブルビューでそれらの場所を設定したいからです。どのドキュメントを読むべきですか? または、私に役立つ可能性のある例はありますか?
編集済み(8月20日):コードの主要部分は次のとおりです。
private void button1_Click(object sender, EventArgs e)
{
Stream input=null;
OpenFileDialog dialog = new OpenFileDialog();
openFileDialog1.InitialDirectory = "C:/";
openFileDialog1.Filter = "xml file | *.xml";
openFileDialog1.FilterIndex = 2;
openFileDialog1.RestoreDirectory = true;
if (openFileDialog1.ShowDialog() == DialogResult.OK) {
try
{
if ((input = openFileDialog1.OpenFile()) != null)
{
using (input)
{
XmlReader xmlFile = XmlReader.Create(input, new XmlReaderSettings());
DataSet dataSet = new DataSet();
dataSet.ReadXml(xmlFile);
DataSet containers = new DataSet();
dataGridView1.DataSource = dataSet.Tables[tag];
xmlFile.Close();
}
}
}
catch (Exception ex) {
MessageBox.Show("ERROR");
}
}
}
私のタグがコンテナまたはrekordである場合、この関数は表示をうまく行い、この出力を行います :
しかし、container1+そのrekords、container2+そのrekordsなど、すべてのコンテナまたはすべてのrekordsを同時に表示することはできません。