实践是检验真理的唯一标准:fangqm.cn关于复杂节点的
XML文件读取
建议使用dataset来读取
实例:
config.xml
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<!--图片按钮生成:图片名称,大小,位置,图片地址,要打开的url,可见度-->
<ImgButtonSettings>
<button>
<!--这是关闭按钮-->
<name>close</name>
<size-w>61</size-w>
<size-h>56</size-h>
<localtion-x>950</localtion-x>
<localtion-y>3</localtion-y>
<openurl></openurl>
<visable>true</visable>
</button>
<configuration>
<!--图片按钮生成:图片名称,大小,位置,图片地址,要打开的url,可见度-->
<ImgButtonSettings>
<button>
<!--这是关闭按钮-->
<name>close</name>
<size-w>61</size-w>
<size-h>56</size-h>
<localtion-x>950</localtion-x>
<localtion-y>3</localtion-y>
<openurl></openurl>
<visable>true</visable>
</button>
<button>
<name>back</name>
<size-w>61</size-w>
<size-h>56</size-h>
<localtion-x>950</localtion-x>
<localtion-y>3</localtion-y>
<openurl></openurl>
<visable>true</visable>
</button>
<button>
<name>baidu</name>
<size-w>61</size-w>
<size-h>56</size-h>
<localtion-x>950</localtion-x>
<localtion-y>3</localtion-y>
<openurl></openurl>
<visable>true</visable>
</button>
</ImgButtonSettings>
<name>back</name>
<size-w>61</size-w>
<size-h>56</size-h>
<localtion-x>950</localtion-x>
<localtion-y>3</localtion-y>
<openurl></openurl>
<visable>true</visable>
</button>
<button>
<name>baidu</name>
<size-w>61</size-w>
<size-h>56</size-h>
<localtion-x>950</localtion-x>
<localtion-y>3</localtion-y>
<openurl></openurl>
<visable>true</visable>
</button>
</ImgButtonSettings>
</configuration>
现在要读取这个XML中的button里的name的值
DataSet ds = new DataSet();
ds.ReadXml(Application.StartupPath + " \\config\\config.xml");
label1.Text = ds.Tables["button"].Rows[2]["name"].ToString();
ds.ReadXml(Application.StartupPath + " \\config\\config.xml");
label1.Text = ds.Tables["button"].Rows[2]["name"].ToString();
label1显示的就是第三个button节点里name节点的值
写入并保存XML
ds.Tables["button"].Rows[2]["name"] = "sina";
ds.WriteXml(Application.StartupPath + " \\config\\config.xml");
ds.WriteXml(Application.StartupPath + " \\config\\config.xml");
这样就OK了
总结,这个实例中,有3个button节点,对应的表Tables["button"]就有3行,
有多少个节点button,对应表就有多少行