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 ......
xml:
<?xml version="1.0" encoding="utf-8" ?>
<library>
<name>首都图书馆</name>
<address>朝阳区华威桥南</address>
<books>
<book>
<id>0000</id>
</book>
< ......
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 ......
<?xml version="1.0"?>
<BANK_CREATE01>
<IDOC BEGIN="1">
<EDI_DC40 SEGMENT=" ......