Xml字符串与C#对象之间相互转换
我们常常需要读取xml文件,把里面的信息转化为我们自定义的类型,或则吧自定义类型转化为Xml字符串。在这里介绍一个比较简单的对象转化方法。在我自己的Framwork里面也多次用到。里面涉及到节点、属性、集合。
示例一 该xml文件涉及到属性、节点集合不涉及个节点:
<?xml version="1.0" encoding="utf-8"?>
<databaseSettings defaultInstance="CheckboxSql">
<databaseTypes>
<databaseType name="sqlserver" type="Framework.Data.Sql.SqlDatabase,Framework" />
</databaseTypes>
<instances>
<instance name="CheckboxSql" type="sqlserver" connectionString="DefaultConnectionString" />
<instance name="TestProvider" type="sqlserver" connectionString="TestConnectionString" />
<instance name="DBAuthenticationProvider" type="sqlserver" connectionString="FrameworkConnectionString" />
<instance name="DBProfileProvider" type="sqlserver" connectionString="TestConnectionString" />
</instances>
</databaseSettings>
自定相关类
[XmlRoot("databaseType", Namespace = "")]
public class DatabaseTypeData
{
// Fields
private string name;
private string typeName;
// Properties
[XmlAttribute("name")]
public string Name
{
get
{ return this.name; }
set
{ this.name = value; }
}
[XmlAttribute("type")]
public string TypeName
{
get
{ return this.typeName; }
set
{
相关文档:
Step 1:Form1 上添加一个ToolStripContainer控件
Step2:实现代码
private void Form2_Load(object sender, EventArgs e)
{
CMenuEx menu = new CMenuEx();
string sPath = "D:\\Menu.xml";//xml的内容
if (menu.FileExit())
&nb ......
using System.Xml;
//初始化一个xml实例
XmlDocument xml=new XmlDocument();
//导入指定xml文件
xml.Load(path);
xml.Load(HttpContext.Current.Server.MapPath("~/file/bookstore.xml"));
//指定一个节点
XmlNode root=xml.SelectSingleNode("/root");
//获取节点下所有直接子节点
XmlNodeList childlist=root ......
<Records>
<Record>
<id>1 </id>
<name>李四 </name>
</Record>
<Record>
<id>2 </id>
<name>张三 </name>
</Record>
<Record>
<id>3 </id>
<name>王五 </name>
</Record& ......
1。写一个xml文件
<?xml version="1.0" encoding="utf-8" ?>
- <root>
- <user id="101">
<name>abc</name>
<password>abc</password>
</user>
- <user id="102">
<name>ccc</name>
<password>ccc< ......