无法嵌套名称与DataTable中已有列相同的表怎么办

时间:2021-09-17 04:48:14
大神们快来帮我看一下, 无法嵌套名称与DataTable中已有列相同的表怎么办,像这种子节点下还有与已有的父节点重名的这种表,如何嵌套,我的代码出错了 无法嵌套名称与DataTable中已有列相同的表怎么办,这个该如何解决,大神们快来帮帮忙吧,很急

8 个解决方案

#1


用实体类反序列化

#2


大神请问可以讲的稍微具体一些吗?

#3


writexml具体怎么调用的?

#4


楼上大神好,看一下,writexml的调用在下面,读取到节点以后我想点击树形节点显示详细信息,就有了这一段:

            if (treeView1.SelectedNode.Text == "分部分项")
            {
                writexml(dicXmlNode[str], 1);
            }
            else
            {
                writexml(dicXmlNode[str], 0);
            }

#5


1、你提供的这些,是在看不出什么来。
2、#1的意思是根据Xml构建一些实体类通过XmlSerializer.Serialize序列化、XmlSerializer.Deserialize反序列化
3、如果是Vs2013可以通过自带功能将Xml格式转化成实体类(好像是.Net4.5以上才行):①将Xml文件内容全文复制②新建一个空类或者在已存在的C#文件上,选择VS编辑菜单-》选择性粘贴-》将XML粘贴为类

#6


<?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>

#7


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);
            }
 
        }

#8


哦好,谢谢楼上的大神,我再揣摩揣摩

#1


用实体类反序列化

#2


大神请问可以讲的稍微具体一些吗?

#3


writexml具体怎么调用的?

#4


楼上大神好,看一下,writexml的调用在下面,读取到节点以后我想点击树形节点显示详细信息,就有了这一段:

            if (treeView1.SelectedNode.Text == "分部分项")
            {
                writexml(dicXmlNode[str], 1);
            }
            else
            {
                writexml(dicXmlNode[str], 0);
            }

#5


1、你提供的这些,是在看不出什么来。
2、#1的意思是根据Xml构建一些实体类通过XmlSerializer.Serialize序列化、XmlSerializer.Deserialize反序列化
3、如果是Vs2013可以通过自带功能将Xml格式转化成实体类(好像是.Net4.5以上才行):①将Xml文件内容全文复制②新建一个空类或者在已存在的C#文件上,选择VS编辑菜单-》选择性粘贴-》将XML粘贴为类

#6


<?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>

#7


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);
            }
 
        }

#8


哦好,谢谢楼上的大神,我再揣摩揣摩