Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我有一个字符串xml,我想把它转换成C类,我该怎么办?_C#_Xml - Fatal编程技术网

C# 我有一个字符串xml,我想把它转换成C类,我该怎么办?

C# 我有一个字符串xml,我想把它转换成C类,我该怎么办?,c#,xml,C#,Xml,如何将列表对象转换为client.PostAsJsonAsync 我的xml <ListCustomer xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="tns:Chapter[1]"> <item xsi:type="tns:Chapter"> <custname xsi:type="xsd:string&q

如何将列表对象转换为client.PostAsJsonAsync

我的xml

<ListCustomer xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="tns:Chapter[1]">
         <item xsi:type="tns:Chapter">
             <custname xsi:type="xsd:string">sakutara</custname>
             <gender xsi:type="xsd:string">nam</gender>
             <dob xsi:type="xsd:string">21/06/1991</dob>
          </item>
</ListCustomer>

萨库塔拉
不结盟运动
21/06/1991
我的班级模型

    public class item
    {
          public string custname { get; set; }
          public string gender { get; set; }
          public string dob { get; set; }
    }
    public class ListCustomer
    {
        public List<item> item { get; set; }
    }
公共类项目
{
公共字符串custname{get;set;}
公共字符串{get;set;}
公共字符串dob{get;set;}
}
公共类列表客户
{
公共列表项{get;set;}
}

请帮助我???

您缺少名称空间,因此我修改了xml

<Soap xmlns:xsi="MyUrl" xmlns:SOAP-ENC="MyUrl">
  <ListCustomer xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="tns:Chapter[1]">
    <item xsi:type="tns:Chapter">
      <custname xsi:type="xsd:string">sakutara</custname>
      <gender xsi:type="xsd:string">nam</gender>
      <dob xsi:type="xsd:string">21/06/1991</dob>
    </item>
  </ListCustomer>
</Soap>

萨库塔拉
不结盟运动
21/06/1991
然后我使用了以下代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using System.Xml.Serialization;

namespace ConsoleApplication1
{
    class Program
    {
        const string FILENANE = @"c:\temp\test.xml";
        static void Main(string[] args)
        {
            XmlReader reader = XmlReader.Create(FILENANE);
            XmlSerializer serializer = new XmlSerializer(typeof(Soap));
            Soap soap = (Soap)serializer.Deserialize(reader);
                
        }
    }
    public class item
    {
        public string custname { get; set; }
        public string gender { get; set; }
        public string dob { get; set; }
    }
    public class ListCustomer
    {
        [XmlElement("item")]
        public List<item> item { get; set; }
    }
    public class Soap
    {
        public ListCustomer ListCustomer { get; set; } 
    }
}
使用系统;
使用System.Collections.Generic;
使用System.Linq;
使用系统文本;
使用System.Xml;
使用System.Xml.Serialization;
命名空间控制台应用程序1
{
班级计划
{
常量字符串FILENANE=@“c:\temp\test.xml”;
静态void Main(字符串[]参数)
{
XmlReader=XmlReader.Create(FILENANE);
XmlSerializer serializer=新的XmlSerializer(typeof(Soap));
Soap=(Soap)序列化程序。反序列化(读取器);
}
}
公共类项目
{
公共字符串custname{get;set;}
公共字符串{get;set;}
公共字符串dob{get;set;}
}
公共类列表客户
{
[XmlElement(“项目”)]
公共列表项{get;set;}
}
公共类Soap
{
public ListCustomer ListCustomer{get;set;}
}
}

dupe of?这是否回答了您的问题?