Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/278.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# Images属性导致编译器对这两个属性使用相同的基础变量?@BradR。-对SmallImagesErrorGate只返回属性值Images,因此没有自己的支持字段。下面是另一个例子:。另见和。 <root> <largeImages&g_C#_Xml_Deserialization - Fatal编程技术网

C# Images属性导致编译器对这两个属性使用相同的基础变量?@BradR。-对SmallImagesErrorGate只返回属性值Images,因此没有自己的支持字段。下面是另一个例子:。另见和。 <root> <largeImages&g

C# Images属性导致编译器对这两个属性使用相同的基础变量?@BradR。-对SmallImagesErrorGate只返回属性值Images,因此没有自己的支持字段。下面是另一个例子:。另见和。 <root> <largeImages&g,c#,xml,deserialization,C#,Xml,Deserialization,Images属性导致编译器对这两个属性使用相同的基础变量?@BradR。-对SmallImagesErrorGate只返回属性值Images,因此没有自己的支持字段。下面是另一个例子:。另见和。 <root> <largeImages> <largeImage> <url>./imageLarge.jpg</url> <height>480</height>


Images属性导致编译器对这两个属性使用相同的基础变量?@BradR。-对
SmallImagesErrorGate
只返回属性值
Images
,因此没有自己的支持字段。下面是另一个例子:。另见和。
<root>
<largeImages>
    <largeImage>
        <url>./imageLarge.jpg</url>
        <height>480</height>
        <width>640</width>
    </largeImage>
</largeImages>
<smallImages>
    <smallImage>
        <url>./imageSmall.jpg</url>
        <height>240</height>
        <width>320</width>
    </smallImage>
</smallImages>
</root>
public class root {
    [XmlArray("largeImages")]
    [XmlArrayItem("largeImage")]
    public image[] largeImages { get; set; }

    [XmlArray("smallImages")]
    [XmlArrayItem("smallImage")]
    public image[] smallImages { get; set; }
}
[XmlArray("largeImages")]
[XmlArray("smallImages")]
[XmlArrayItem("largeImage")]
[XmlArrayItem("smallImage")]
public image[] images { get; set; }
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using System.Xml.Linq;

namespace ConsoleApplication1
{
    class Program
    {
        const string FILENAME = @"c:\temp\test.xml";
        static void Main(string[] args)
        {
            XDocument doc = XDocument.Load(FILENAME);

            Root root = doc.Elements("root").Select(x => new Root() {
                Images = x.Descendants("largeImage").Select(z => new Image() {
                    url = (string)z.Element("url"),
                    height = (int)z.Element("height"),
                    width = (int)z.Element("width")
                }).ToList()
            }).FirstOrDefault();

            root.Images.AddRange(doc.Descendants("smallImage").Select(z => new Image() {
                    url = (string)z.Element("url"),
                    height = (int)z.Element("height"),
                    width = (int)z.Element("width")
                }).ToList());
        }
    }
    public class Root
    {
        public List<Image> Images { get; set; }

    }
    public class Image
    {
        public string url { get; set; }
        public int height { get; set; }
        public int width { get; set; }
    }
}
public class root 
{
    [XmlArray("largeImages")]
    [XmlArrayItem("largeImage")]
    public List<image> Images { get; set; } = new List<image>();

    [XmlArray("smallImages")]
    [XmlArrayItem("smallImage")]
    [Browsable(false), EditorBrowsable(EditorBrowsableState.Never), DebuggerBrowsable(DebuggerBrowsableState.Never)]
    public List<image> SmallImagesSurrogate { get { return Images; } }

    public bool ShouldSerializeSmallImagesSurrogate() { return false; }
}
public class Document
{
    [XmlElement(ElementName = "seller_id")]
    public string SellerId { get; set; }

    [XmlArray(ElementName = "order_details")]
    [XmlArrayItem(Type = typeof(SgtinCode), ElementName = "sgtin")]
    [XmlArrayItem(Type = typeof(SsccCode), ElementName = "sscc")]
    public Code[] Codes { get; set; }
}

public abstract class Code
{
    [XmlText]
    public string Value { get; set; }
}

public class SgtinCode : Code
{ }

public class SsccCode : Code
{ }
var document = new Document
{
    SellerId = Guid.NewGuid().ToString(),
    Codes = new Code[]
    {
        new SsccCode { Value = "111700126101510000000000011" },
        new SsccCode { Value ="111700126101510000000000012" },
        new SsccCode { Value ="111700126101510000000000013" },
        new SgtinCode { Value = "abc" }
    }
}
<?xml version="1.0" encoding="utf-8"?>
<documents>
  <foreign_shipment>
    <seller_id>fb2d35e7-c5d1-43ad-a272-89f897f41058</seller_id>
    <order_details>
      <sscc>111700126101510000000000011</sscc>
      <sscc>111700126101510000000000012</sscc>
      <sscc>111700126101510000000000013</sscc>
      <sgtin>abc</sgtin>
    </order_details>
  </foreign_shipment>
</documents>