高手们快来帮本人看一下, ,像这种子节点下还有与已有的父节点重名的这种表,怎么样嵌套,本人的代码出错了 ,这个该怎么样解决,高手们快来帮帮忙吧,很急
解决方案
5
用实体类反序列化
15
1、你提供的这些,是在看不出什么来。
2、#1的意思是根据Xml构建一些实体类通过XmlSerializer.Serialize序列化、XmlSerializer.Deserialize反序列化
3、假如是Vs2013可以通过自带功能将Xml格式转化成实体类(好像是.Net4.5以上才行):①将Xml文件内容全文复制②新建一个空类或在已存在的C#文件上,选择VS编辑菜单-》选择性粘贴-》将XML粘贴为类
2、#1的意思是根据Xml构建一些实体类通过XmlSerializer.Serialize序列化、XmlSerializer.Deserialize反序列化
3、假如是Vs2013可以通过自带功能将Xml格式转化成实体类(好像是.Net4.5以上才行):①将Xml文件内容全文复制②新建一个空类或在已存在的C#文件上,选择VS编辑菜单-》选择性粘贴-》将XML粘贴为类
10
<?xml version=”1.0″ encoding=”utf-8″ ?>
<FileXML xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xmlns:xsd=”http://www.w3.org/2001/XMLSchema”>
<test1 type=”aa”>
<test01>11Value</test01>
<test02>12Value</test02>
</test1>
<test2>
<test01 type=”ww”>21Value</test01>
<test02>21Value</test02>
</test2>
</FileXML>
<FileXML xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xmlns:xsd=”http://www.w3.org/2001/XMLSchema”>
<test1 type=”aa”>
<test01>11Value</test01>
<test02>12Value</test02>
</test1>
<test2>
<test01 type=”ww”>21Value</test01>
<test02>21Value</test02>
</test2>
</FileXML>
10
namespace ConsoleApplication1
{
static class Class1
{
static FileXML config = new FileXML();
}
[Serializable]
public class FileXML
{
public test00 test1 { get; set; }
public test00 test2 { get; set; }
}
public class test00{
public string type { get; set; }
public string test01 { get; set; }
public string test02 { get; set; }
}
public class test0
{
public string type { get; set; }
}
}
static FileXML config = new FileXML();
static void Main(string[] args)
{
using (FileStream fs = new FileStream(string.Format(@”{0}{1}”, System.Threading.Thread.GetDomain().BaseDirectory, “FileXML.xml”), FileMode.Open, FileAccess.Read, FileShare.Read))
{
XmlSerializer xs = new XmlSerializer(typeof(FileXML));
config = (FileXML)xs.Deserialize(fs);
}
{
static class Class1
{
static FileXML config = new FileXML();
}
[Serializable]
public class FileXML
{
public test00 test1 { get; set; }
public test00 test2 { get; set; }
}
public class test00{
public string type { get; set; }
public string test01 { get; set; }
public string test02 { get; set; }
}
public class test0
{
public string type { get; set; }
}
}
static FileXML config = new FileXML();
static void Main(string[] args)
{
using (FileStream fs = new FileStream(string.Format(@”{0}{1}”, System.Threading.Thread.GetDomain().BaseDirectory, “FileXML.xml”), FileMode.Open, FileAccess.Read, FileShare.Read))
{
XmlSerializer xs = new XmlSerializer(typeof(FileXML));
config = (FileXML)xs.Deserialize(fs);
}
}