XMLって、なんかめんどくさそうですね。
でも、ちょろっと保存とかなら簡単でござるよ。
さて。
以下のXMLを取扱うデータを書いてみる。
<?xml version="1.0" encoding="UTF-8"?>
<root>
<Setup>
<clipboard>true</clipboard>
<url>http://********************</url>
</Setup>
</root>
ロードとセーブは以下だ。
保存したいデータは CheckBox1.Checked および
urlっていうテキストデータ、この二つですね。
チェックボックスは true/falseだけど、
これは単にtrue/falseテキストにして登録する。
あと指定エレメントの中身は手動で読んでいる。
//
// 必要な設定を集め、XML化して保存する。
//
private void saveData(string filename)
{
XmlDocument doc = new XmlDocument();
XmlDeclaration dec = doc.CreateXmlDeclaration("1.0", "UTF-8", null);
XmlElement root = doc.CreateElement("root");
doc.AppendChild(dec);
doc.AppendChild(root);
XmlElement setup = doc.CreateElement("Setup");
root.AppendChild(setup);
XmlElement element = doc.CreateElement("clipboard");
if (checkBox1.Checked == true)
{
element.InnerText = "true";
}
else
{
element.InnerText = "false";
}
setup.AppendChild(element);
element = doc.CreateElement("url");
element.InnerText = urlBox1.Text;
setup.AppendChild(element);
doc.Save(filename);
}
//
// 設定ファイルを読みだして復元する。
//
private void loadData(string filename)
{
if (File.Exists(filename) == true)
{
XmlDocument doc = new XmlDocument();
doc.Load(filename);
XmlNodeList nodeList;
XmlNode root = doc.DocumentElement;
// 行選択
nodeList = root.SelectNodes("Setup");
foreach (XmlNode nd in nodeList)
{
string wk = getElementByTagName(nd, "clipboard");
if (wk == "true")
{
checkBox1.Checked = true;
}
wk = getElementByTagName(nd, "url");
if (wk != "")
{
urlBox1.Text = wk;
textBox1.Text = wk;
}
}
}
}
//
// 指定エレメントの中身を表示する。
//
private string getElementByTagName(XmlNode n, string name)
{
string r = null;
foreach (XmlNode no in n.ChildNodes)
{
if (name.CompareTo(no.Name) == 0)
{
r = no.InnerText;
break;
}
}
return(r);
}