0
当我的控制台应用程序尝试反序列化XML时,会引发此异常。异常错误:不一致的排序:如果用在其中一个类的成员上
Inconsistent sequencing: if used on one of the class's members, the 'Order' property is required on all particle-like members, please explicitly set 'Order' using XmlElement, XmlAnyElement or XmlArray custom attribute on class member 'worksheetReference'.
我尝试反序列化的XML看起来像这样
<?xml version="1.0"?>
<worksheetReport xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="asm.org.uk/Sequoia/WorksheetReport">
<worksheetRefence>
<worksheetReference xmlns="asm.org.uk/Sequoia/WorksheetIdentityType">306</worksheetReference>
</worksheetRefence>
<WorksheetReportRows>
<worksheetReportRow>
<worksheetRefence xmlns="asm.org.uk/Sequoia/WorksheetReportData">
<worksheetReference xmlns="asm.org.uk/Sequoia/WorksheetIdentityType">306</worksheetReference>
</worksheetRefence>
<invoiceNumber xmlns="asm.org.uk/Sequoia/WorksheetReportData">INTEBKKEN00000005672</invoiceNumber>
<orderNumber xmlns="asm.org.uk/Sequoia/WorksheetReportData">65406504</orderNumber>
<incoTerm xmlns="asm.org.uk/Sequoia/WorksheetReportData">CIF</incoTerm>
<incoTermLocation xmlns="asm.org.uk/Sequoia/WorksheetReportData">HEATHROW</incoTermLocation>
<lineNumber xmlns="asm.org.uk/Sequoia/WorksheetReportData">1</lineNumber>
<lineOrderNumber xmlns="asm.org.uk/Sequoia/WorksheetReportData">111</lineOrderNumber>
<productCode xmlns="asm.org.uk/Sequoia/WorksheetReportData">PROD01</productCode>
<sku xmlns="asm.org.uk/Sequoia/WorksheetReportData">SKU01</sku>
<quantity xmlns="asm.org.uk/Sequoia/WorksheetReportData">1.000</quantity>
<unitPrice xmlns="asm.org.uk/Sequoia/WorksheetReportData">94.99</unitPrice>
<itemNumber xmlns="asm.org.uk/Sequoia/WorksheetReportData">0</itemNumber>
<commodityCode xmlns="asm.org.uk/Sequoia/WorksheetReportData">8302100090</commodityCode>
<originCountry xmlns="asm.org.uk/Sequoia/WorksheetReportData">TH</originCountry>
<goodsDescription xmlns="asm.org.uk/Sequoia/WorksheetReportData">GOATS CHEESE</goodsDescription>
<consignorName xmlns="asm.org.uk/Sequoia/WorksheetReportData">JONATHAN CHAPMAN</consignorName>
<consignorStreet xmlns="asm.org.uk/Sequoia/WorksheetReportData">1406 CARALEA VALLEY DR</consignorStreet>
<consignorCity xmlns="asm.org.uk/Sequoia/WorksheetReportData">CONCORD</consignorCity>
<consignorPostCode xmlns="asm.org.uk/Sequoia/WorksheetReportData">28027</consignorPostCode>
<consignorCountry xmlns="asm.org.uk/Sequoia/WorksheetReportData">US</consignorCountry>
<consigneeEori xmlns="asm.org.uk/Sequoia/WorksheetReportData">GBPR</consigneeEori>
<consigneeName xmlns="asm.org.uk/Sequoia/WorksheetReportData">ALBERTO MARTINEZ GLEZ</consigneeName>
<consigneeStreet xmlns="asm.org.uk/Sequoia/WorksheetReportData">PLAZA SAN LORENZO NO2 1O DERECHA</consigneeStreet>
<consigneeCity xmlns="asm.org.uk/Sequoia/WorksheetReportData">LEON</consigneeCity>
<consigneePostCode xmlns="asm.org.uk/Sequoia/WorksheetReportData">24007</consigneePostCode>
<consigneeCountry xmlns="asm.org.uk/Sequoia/WorksheetReportData">ES</consigneeCountry>
<aiStatementCode1 xmlns="asm.org.uk/Sequoia/WorksheetReportData">BULKD</aiStatementCode1>
<aiStatementText1 xmlns="asm.org.uk/Sequoia/WorksheetReportData">GEO/251LVBI/0916</aiStatementText1>
<aiStatementCode2 xmlns="asm.org.uk/Sequoia/WorksheetReportData">LIC99</aiStatementCode2>
</worksheetReportRow>
<worksheetReportRow>
<worksheetRefence xmlns="asm.org.uk/Sequoia/WorksheetReportData">
<worksheetReference xmlns="asm.org.uk/Sequoia/WorksheetIdentityType">306</worksheetReference>
</worksheetRefence>
<invoiceNumber xmlns="asm.org.uk/Sequoia/WorksheetReportData">INTEBKKEN00000005672</invoiceNumber>
<orderNumber xmlns="asm.org.uk/Sequoia/WorksheetReportData">65406504</orderNumber>
<incoTerm xmlns="asm.org.uk/Sequoia/WorksheetReportData">CIF</incoTerm>
<incoTermLocation xmlns="asm.org.uk/Sequoia/WorksheetReportData">HEATHROW</incoTermLocation>
<lineNumber xmlns="asm.org.uk/Sequoia/WorksheetReportData">2</lineNumber>
<lineOrderNumber xmlns="asm.org.uk/Sequoia/WorksheetReportData">222</lineOrderNumber>
<productCode xmlns="asm.org.uk/Sequoia/WorksheetReportData">PROD02</productCode>
<sku xmlns="asm.org.uk/Sequoia/WorksheetReportData">SKU02</sku>
<quantity xmlns="asm.org.uk/Sequoia/WorksheetReportData">5.000</quantity>
<unitPrice xmlns="asm.org.uk/Sequoia/WorksheetReportData">139.99</unitPrice>
<itemNumber xmlns="asm.org.uk/Sequoia/WorksheetReportData">0</itemNumber>
<commodityCode xmlns="asm.org.uk/Sequoia/WorksheetReportData">4901910000</commodityCode>
<originCountry xmlns="asm.org.uk/Sequoia/WorksheetReportData">TH</originCountry>
<goodsDescription xmlns="asm.org.uk/Sequoia/WorksheetReportData">A STICK OF ROCK</goodsDescription>
<consignorName xmlns="asm.org.uk/Sequoia/WorksheetReportData">ADAM DANGOOR</consignorName>
<consignorStreet xmlns="asm.org.uk/Sequoia/WorksheetReportData">35340 ROAD 603</consignorStreet>
<consignorCity xmlns="asm.org.uk/Sequoia/WorksheetReportData">MADERA</consignorCity>
<consignorPostCode xmlns="asm.org.uk/Sequoia/WorksheetReportData">93638819</consignorPostCode>
<consignorCountry xmlns="asm.org.uk/Sequoia/WorksheetReportData">US</consignorCountry>
<consigneeEori xmlns="asm.org.uk/Sequoia/WorksheetReportData">GBPR</consigneeEori>
<consigneeName xmlns="asm.org.uk/Sequoia/WorksheetReportData">ALESSANDRO CAMPO</consigneeName>
<consigneeStreet xmlns="asm.org.uk/Sequoia/WorksheetReportData">VIALE EVARISTO STEFINI 8 GF FOTOGRA</consigneeStreet>
<consigneeCity xmlns="asm.org.uk/Sequoia/WorksheetReportData">MILANO</consigneeCity>
<consigneePostCode xmlns="asm.org.uk/Sequoia/WorksheetReportData">20125</consigneePostCode>
<consigneeCountry xmlns="asm.org.uk/Sequoia/WorksheetReportData">IT</consigneeCountry>
<aiStatementCode1 xmlns="asm.org.uk/Sequoia/WorksheetReportData">BULKD</aiStatementCode1>
<aiStatementText1 xmlns="asm.org.uk/Sequoia/WorksheetReportData">GEO/251LVBI/0916</aiStatementText1>
<aiStatementCode2 xmlns="asm.org.uk/Sequoia/WorksheetReportData">LIC99</aiStatementCode2>
</worksheetReportRow>
<worksheetReportRow>
<worksheetRefence xmlns="asm.org.uk/Sequoia/WorksheetReportData">
<worksheetReference xmlns="asm.org.uk/Sequoia/WorksheetIdentityType">306</worksheetReference>
</worksheetRefence>
<invoiceNumber xmlns="asm.org.uk/Sequoia/WorksheetReportData">INTEBKKEN00000005672</invoiceNumber>
<orderNumber xmlns="asm.org.uk/Sequoia/WorksheetReportData">65406504</orderNumber>
<incoTerm xmlns="asm.org.uk/Sequoia/WorksheetReportData">CIF</incoTerm>
<incoTermLocation xmlns="asm.org.uk/Sequoia/WorksheetReportData">HEATHROW</incoTermLocation>
<lineNumber xmlns="asm.org.uk/Sequoia/WorksheetReportData">3</lineNumber>
<lineOrderNumber xmlns="asm.org.uk/Sequoia/WorksheetReportData">333</lineOrderNumber>
<productCode xmlns="asm.org.uk/Sequoia/WorksheetReportData">PROD03</productCode>
<sku xmlns="asm.org.uk/Sequoia/WorksheetReportData">SKU03</sku>
<quantity xmlns="asm.org.uk/Sequoia/WorksheetReportData">1.000</quantity>
<unitPrice xmlns="asm.org.uk/Sequoia/WorksheetReportData">29.99</unitPrice>
<itemNumber xmlns="asm.org.uk/Sequoia/WorksheetReportData">0</itemNumber>
<commodityCode xmlns="asm.org.uk/Sequoia/WorksheetReportData">4901910000</commodityCode>
<originCountry xmlns="asm.org.uk/Sequoia/WorksheetReportData">TH</originCountry>
<goodsDescription xmlns="asm.org.uk/Sequoia/WorksheetReportData">A 9 IRON</goodsDescription>
<consignorName xmlns="asm.org.uk/Sequoia/WorksheetReportData">HIU YU</consignorName>
<consignorStreet xmlns="asm.org.uk/Sequoia/WorksheetReportData">17814 BAINTREE ST</consignorStreet>
<consignorCity xmlns="asm.org.uk/Sequoia/WorksheetReportData">ROWLAND HEIGHTS</consignorCity>
<consignorPostCode xmlns="asm.org.uk/Sequoia/WorksheetReportData">91748420</consignorPostCode>
<consignorCountry xmlns="asm.org.uk/Sequoia/WorksheetReportData">US</consignorCountry>
<consigneeEori xmlns="asm.org.uk/Sequoia/WorksheetReportData">GBPR</consigneeEori>
<consigneeName xmlns="asm.org.uk/Sequoia/WorksheetReportData">ALLARD</consigneeName>
<consigneeStreet xmlns="asm.org.uk/Sequoia/WorksheetReportData">RUE DES PALAIS N55</consigneeStreet>
<consigneeCity xmlns="asm.org.uk/Sequoia/WorksheetReportData">BRUSSELS</consigneeCity>
<consigneePostCode xmlns="asm.org.uk/Sequoia/WorksheetReportData">1030</consigneePostCode>
<consigneeCountry xmlns="asm.org.uk/Sequoia/WorksheetReportData">BE</consigneeCountry>
<aiStatementCode1 xmlns="asm.org.uk/Sequoia/WorksheetReportData">BULKD</aiStatementCode1>
<aiStatementText1 xmlns="asm.org.uk/Sequoia/WorksheetReportData">GEO/251LVBI/0916</aiStatementText1>
<aiStatementCode2 xmlns="asm.org.uk/Sequoia/WorksheetReportData">LIC99</aiStatementCode2>
</worksheetReportRow>
<worksheetReportRow>
<worksheetRefence xmlns="asm.org.uk/Sequoia/WorksheetReportData">
<worksheetReference xmlns="asm.org.uk/Sequoia/WorksheetIdentityType">306</worksheetReference>
</worksheetRefence>
<invoiceNumber xmlns="asm.org.uk/Sequoia/WorksheetReportData">INTEBKKEN00000005672</invoiceNumber>
<orderNumber xmlns="asm.org.uk/Sequoia/WorksheetReportData">65406504</orderNumber>
<incoTerm xmlns="asm.org.uk/Sequoia/WorksheetReportData">CIF</incoTerm>
<incoTermLocation xmlns="asm.org.uk/Sequoia/WorksheetReportData">HEATHROW</incoTermLocation>
<lineNumber xmlns="asm.org.uk/Sequoia/WorksheetReportData">4</lineNumber>
<lineOrderNumber xmlns="asm.org.uk/Sequoia/WorksheetReportData">444</lineOrderNumber>
<productCode xmlns="asm.org.uk/Sequoia/WorksheetReportData">PROD04</productCode>
<sku xmlns="asm.org.uk/Sequoia/WorksheetReportData">SKU04</sku>
<quantity xmlns="asm.org.uk/Sequoia/WorksheetReportData">1.000</quantity>
<unitPrice xmlns="asm.org.uk/Sequoia/WorksheetReportData">59.99</unitPrice>
<itemNumber xmlns="asm.org.uk/Sequoia/WorksheetReportData">0</itemNumber>
<commodityCode xmlns="asm.org.uk/Sequoia/WorksheetReportData">8302100090</commodityCode>
<originCountry xmlns="asm.org.uk/Sequoia/WorksheetReportData">TH</originCountry>
<goodsDescription xmlns="asm.org.uk/Sequoia/WorksheetReportData">A HAT WITH MICKEY MOUSE EARS</goodsDescription>
<consignorName xmlns="asm.org.uk/Sequoia/WorksheetReportData">JUAN MAYMI</consignorName>
<consignorStreet xmlns="asm.org.uk/Sequoia/WorksheetReportData">6724 PERIMETER LOOP RD</consignorStreet>
<consignorCity xmlns="asm.org.uk/Sequoia/WorksheetReportData">DUBLIN</consignorCity>
<consignorPostCode xmlns="asm.org.uk/Sequoia/WorksheetReportData">43017320</consignorPostCode>
<consignorCountry xmlns="asm.org.uk/Sequoia/WorksheetReportData">US</consignorCountry>
<consigneeEori xmlns="asm.org.uk/Sequoia/WorksheetReportData">GBPR</consigneeEori>
<consigneeName xmlns="asm.org.uk/Sequoia/WorksheetReportData">ANDERS THORESSON</consigneeName>
<consigneeStreet xmlns="asm.org.uk/Sequoia/WorksheetReportData">TRKILSGATAN 13A</consigneeStreet>
<consigneeCity xmlns="asm.org.uk/Sequoia/WorksheetReportData">GTEBORG</consigneeCity>
<consigneePostCode xmlns="asm.org.uk/Sequoia/WorksheetReportData">416 78</consigneePostCode>
<consigneeCountry xmlns="asm.org.uk/Sequoia/WorksheetReportData">SE</consigneeCountry>
<aiStatementCode1 xmlns="asm.org.uk/Sequoia/WorksheetReportData">BULKD</aiStatementCode1>
<aiStatementText1 xmlns="asm.org.uk/Sequoia/WorksheetReportData">GEO/251LVBI/0916</aiStatementText1>
<aiStatementCode2 xmlns="asm.org.uk/Sequoia/WorksheetReportData">LIC99</aiStatementCode2>
</worksheetReportRow>
<worksheetReportRow>
<worksheetRefence xmlns="asm.org.uk/Sequoia/WorksheetReportData">
<worksheetReference xmlns="asm.org.uk/Sequoia/WorksheetIdentityType">306</worksheetReference>
</worksheetRefence>
<invoiceNumber xmlns="asm.org.uk/Sequoia/WorksheetReportData">INTEBKKEN00000005672</invoiceNumber>
<orderNumber xmlns="asm.org.uk/Sequoia/WorksheetReportData">65406504</orderNumber>
<incoTerm xmlns="asm.org.uk/Sequoia/WorksheetReportData">CIF</incoTerm>
<incoTermLocation xmlns="asm.org.uk/Sequoia/WorksheetReportData">HEATHROW</incoTermLocation>
<lineNumber xmlns="asm.org.uk/Sequoia/WorksheetReportData">5</lineNumber>
<lineOrderNumber xmlns="asm.org.uk/Sequoia/WorksheetReportData">555</lineOrderNumber>
<productCode xmlns="asm.org.uk/Sequoia/WorksheetReportData">PROD05</productCode>
<sku xmlns="asm.org.uk/Sequoia/WorksheetReportData">SKU05</sku>
<quantity xmlns="asm.org.uk/Sequoia/WorksheetReportData">1.000</quantity>
<unitPrice xmlns="asm.org.uk/Sequoia/WorksheetReportData">127.50</unitPrice>
<itemNumber xmlns="asm.org.uk/Sequoia/WorksheetReportData">0</itemNumber>
<commodityCode xmlns="asm.org.uk/Sequoia/WorksheetReportData">4901910000</commodityCode>
<originCountry xmlns="asm.org.uk/Sequoia/WorksheetReportData">TH</originCountry>
<goodsDescription xmlns="asm.org.uk/Sequoia/WorksheetReportData">A SMALL TUB OF RAISINS</goodsDescription>
<consignorName xmlns="asm.org.uk/Sequoia/WorksheetReportData">JASON HUEY</consignorName>
<consignorStreet xmlns="asm.org.uk/Sequoia/WorksheetReportData">65 SIEGFREID RD</consignorStreet>
<consignorCity xmlns="asm.org.uk/Sequoia/WorksheetReportData">BERNVILLE</consignorCity>
<consignorPostCode xmlns="asm.org.uk/Sequoia/WorksheetReportData">19506</consignorPostCode>
<consignorCountry xmlns="asm.org.uk/Sequoia/WorksheetReportData">US</consignorCountry>
<consigneeEori xmlns="asm.org.uk/Sequoia/WorksheetReportData">GBPR</consigneeEori>
<consigneeName xmlns="asm.org.uk/Sequoia/WorksheetReportData">ANDRE SANTOS</consigneeName>
<consigneeStreet xmlns="asm.org.uk/Sequoia/WorksheetReportData">AVENIDA PRAIA DA VITORIA</consigneeStreet>
<consigneeCity xmlns="asm.org.uk/Sequoia/WorksheetReportData">LISBOA</consigneeCity>
<consigneePostCode xmlns="asm.org.uk/Sequoia/WorksheetReportData">1000245</consigneePostCode>
<consigneeCountry xmlns="asm.org.uk/Sequoia/WorksheetReportData">PT</consigneeCountry>
<aiStatementCode1 xmlns="asm.org.uk/Sequoia/WorksheetReportData">BULKD</aiStatementCode1>
<aiStatementText1 xmlns="asm.org.uk/Sequoia/WorksheetReportData">GEO/251LVBI/0916</aiStatementText1>
<aiStatementCode2 xmlns="asm.org.uk/Sequoia/WorksheetReportData">LIC99</aiStatementCode2>
</worksheetReportRow>
</WorksheetReportRows>
</worksheetReport>
而且我的课是
namespace FreightSolutions
{
public class GetWorksheetByRef : ISequoiaApiDualChannelServiceCallback
{
public void PublishMessage(PublishedMessage message)
{
//Console.WriteLine(message.EventName);
}
public static TObject DeserializeFromXml<TObject>(string xml)
{
using (StringReader stringReader = new StringReader(xml))
{
XmlSerializer serializer = new XmlSerializer(typeof(TObject));
return ((TObject)(serializer.Deserialize(System.Xml.XmlReader.Create(stringReader))));
}
}
//Main class method
public void getWorksheetData(BuildWorksheetXML buildXml)
{
GetDeclarationResponseData apiCallBack = new GetDeclarationResponseData();
SequoiaApiDualChannelServiceClient client = new SequoiaApiDualChannelServiceClient(new InstanceContext(apiCallBack));
//Logon to Seqioia
SequoiaLogonResponse loginResponse = client.Logon(new SequoiaLogonRequest { UserName = "api", Password = "api" });
//Pass in reaquest Xml to local varialbe
string sendWorksheetInfo = buildXml.GenerateWorksheetXml;
//Return response to local variale
SequoiaApiResponse returnWorksheetData = client.GetWorksheetReport(new ServiceReference1.LookUpRequest { Content = sendWorksheetInfo });
if (returnWorksheetData != null)
{
//worksheetReport myWorksheetReportResponse = DeserializeFromXml<worksheetReport>(returnWorksheetData.ToString());
XmlSerializer xmlSerializer = new XmlSerializer(typeof(worksheetReport));
MemoryStream memStream = new MemoryStream(Encoding.UTF8.GetBytes(returnWorksheetData.ReturnValue));
worksheetReport myWorksheetReportResponse = (worksheetReport)xmlSerializer.Deserialize(memStream);
foreach (var worksheetReportitem in myWorksheetReportResponse.WorksheetReportRows)
{
Console.WriteLine(
@" WORKSHEEET RETURN DATA FOR REFERENCE: {0}
Trader Ref: {1}
",
myWorksheetReportResponse.worksheetRefence,
worksheetReportitem.traderReference
);
Console.ReadLine();
} }
}
}
}
这是通过XSD2Code自动创建WorkSheetReportClass是
namespace FreightSolutions {
using System;
using System.Diagnostics;
using System.Xml.Serialization;
using System.Collections;
using System.Xml.Schema;
using System.ComponentModel;
using System.Collections.Generic;
public partial class worksheetReport {
private worksheetIdentityType worksheetRefenceField;
private List<worksheetReportData> worksheetReportRowsField;
public worksheetIdentityType worksheetRefence {
get {
return this.worksheetRefenceField;
}
set {
this.worksheetRefenceField = value;
}
}
[System.Xml.Serialization.XmlArrayAttribute(Order=1)]
[System.Xml.Serialization.XmlArrayItemAttribute("worksheetReportRow", IsNullable=false)]
public List<worksheetReportData> WorksheetReportRows {
get {
return this.worksheetReportRowsField;
}
set {
this.worksheetReportRowsField = value;
}
}
}
}