【问题标题】:Trying to parse XML string into c# object with no success试图将 XML 字符串解析为 c# 对象但没有成功
【发布时间】:2020-12-15 00:53:03
【问题描述】:

我正在尝试将一些 XML 字符串反序列化为一个对象。但总是出现下一个错误:

XML 文档 (1, 2) 中存在错误。 不是 预计。

我还尝试从 xml 中删除 xmlns:vehicle=\"http://www.travelport.com/schema/vehicle_v48_0\" 但后来我得到:'vehicle' 是一个未声明的前缀。第 1 行,位置 2。

对象是:

namespace VehicleMedia
{
    [XmlRoot(ElementName = "SupplierRate", Namespace = "http://www.travelport.com/schema/vehicle_v48_0")]
    public class SupplierRate
    {
        [XmlAttribute(AttributeName = "RateForPeriod")]
        public string RateForPeriod { get; set; }
        [XmlAttribute(AttributeName = "ExtraMileageCharge")]
        public string ExtraMileageCharge { get; set; }
    }

    [XmlRoot(ElementName = "VehicleRate", Namespace = "http://www.travelport.com/schema/vehicle_v48_0")]
    public class VehicleRate
    {
        [XmlElement(ElementName = "SupplierRate", Namespace = "http://www.travelport.com/schema/vehicle_v48_0")]
        public SupplierRate SupplierRate { get; set; }
        [XmlAttribute(AttributeName = "RatePeriod")]
        public string RatePeriod { get; set; }
    }

    [XmlRoot(ElementName = "Vehicle", Namespace = "http://www.travelport.com/schema/vehicle_v48_0")]
    public class Vehicle
    {
        [XmlElement(ElementName = "VehicleRate", Namespace = "http://www.travelport.com/schema/vehicle_v48_0")]
        public VehicleRate VehicleRate { get; set; }
        [XmlAttribute(AttributeName = "VendorCode")]
        public string VendorCode { get; set; }
        [XmlAttribute(AttributeName = "AirConditioning")]
        public string AirConditioning { get; set; }
        [XmlAttribute(AttributeName = "TransmissionType")]
        public string TransmissionType { get; set; }
        [XmlAttribute(AttributeName = "VehicleClass")]
        public string VehicleClass { get; set; }
        [XmlAttribute(AttributeName = "Category")]
        public string Category { get; set; }
        [XmlAttribute(AttributeName = "DoorCount")]
        public string DoorCount { get; set; }
        [XmlAttribute(AttributeName = "AcrissVehicleCode")]
        public string AcrissVehicleCode { get; set; }
    }

    [XmlRoot(ElementName = "MediaItem", Namespace = "http://www.travelport.com/schema/common_v48_0")]
    public class MediaItem
    {
        [XmlAttribute(AttributeName = "url")]
        public string Url { get; set; }
        [XmlAttribute(AttributeName = "sizeCode")]
        public string SizeCode { get; set; }
    }

    [XmlRoot(ElementName = "VehicleWithMediaItems", Namespace = "http://www.travelport.com/schema/vehicle_v48_0")]
    public class VehicleWithMediaItems
    {
        [XmlElement(ElementName = "Vehicle", Namespace = "http://www.travelport.com/schema/vehicle_v48_0")]
        public Vehicle Vehicle { get; set; }
        [XmlElement(ElementName = "MediaItem", Namespace = "http://www.travelport.com/schema/common_v48_0")]
        public MediaItem MediaItem { get; set; }
    }

    [XmlRoot(ElementName = "VehicleMediaLinksRsp", Namespace = "http://www.travelport.com/schema/vehicle_v48_0")]
    public class VehicleMediaLinksRsp
    {
        [XmlElement(ElementName = "VehicleWithMediaItems", Namespace = "http://www.travelport.com/schema/vehicle_v48_0")]
        public List<VehicleWithMediaItems> VehicleWithMediaItems { get; set; }
        [XmlAttribute(AttributeName = "TransactionId")]
        public string TransactionId { get; set; }
        [XmlAttribute(AttributeName = "ResponseTime")]
        public string ResponseTime { get; set; }
        [XmlAttribute(AttributeName = "vehicle", Namespace = "http://www.w3.org/2000/xmlns/")]
        public string Vehicle { get; set; }
        [XmlAttribute(AttributeName = "common_v48_0", Namespace = "http://www.w3.org/2000/xmlns/")]
        public string Common_v48_0 { get; set; }
    }

}

例如xml字符串是:

<vehicle:VehicleMediaLinksRsp xmlns:vehicle="http://www.travelport.com/schema/vehicle_v48_0" xmlns:common_v48_0="http://www.travelport.com/schema/common_v48_0" TransactionId="29EAAF810A07571D5ADA0638F657E2D2" ResponseTime="173">
   <vehicle:VehicleWithMediaItems>
      <vehicle:Vehicle VendorCode="ZE" AirConditioning="true" TransmissionType="Manual" VehicleClass="Economy" Category="Car" DoorCount="TwoToThreeDoors" AcrissVehicleCode="EBMR">
         <vehicle:VehicleRate RatePeriod="Other">
            <vehicle:SupplierRate RateForPeriod="USD0.00" ExtraMileageCharge="USD0.00" />
         </vehicle:VehicleRate>
      </vehicle:Vehicle>
      <common_v48_0:MediaItem url="http://cdn.travelport.com/cmhertz/ZE_general_large_191388.jpg" sizeCode="S" />
   </vehicle:VehicleWithMediaItems>
   <vehicle:VehicleWithMediaItems>
      <vehicle:Vehicle VendorCode="ZE" AirConditioning="true" TransmissionType="Manual" VehicleClass="Economy" Category="Car" DoorCount="FourToFiveDoors" AcrissVehicleCode="EDMR">
         <vehicle:VehicleRate RatePeriod="Other">
            <vehicle:SupplierRate RateForPeriod="USD0.00" ExtraMileageCharge="USD0.00" />
         </vehicle:VehicleRate>
      </vehicle:Vehicle>
      <common_v48_0:MediaItem url="http://cdn.travelport.com/cmhertz/ZE_general_large_191418.jpg" sizeCode="S" />
   </vehicle:VehicleWithMediaItems>
   <vehicle:VehicleWithMediaItems>
      <vehicle:Vehicle VendorCode="ZE" AirConditioning="true" TransmissionType="Manual" VehicleClass="Compact" Category="Car" DoorCount="FourToFiveDoors" AcrissVehicleCode="CDMR">
         <vehicle:VehicleRate RatePeriod="Other">
            <vehicle:SupplierRate RateForPeriod="USD0.00" ExtraMileageCharge="USD0.00" />
         </vehicle:VehicleRate>
      </vehicle:Vehicle>
      <common_v48_0:MediaItem url="http://cdn.travelport.com/cmhertz/ZE_general_large_190022.jpg" sizeCode="S" />
   </vehicle:VehicleWithMediaItems>
   <vehicle:VehicleWithMediaItems>
      <vehicle:Vehicle VendorCode="ZE" AirConditioning="true" TransmissionType="Automatic" VehicleClass="Compact" Category="Car" DoorCount="FourToFiveDoors" AcrissVehicleCode="CDAR">
         <vehicle:VehicleRate RatePeriod="Other">
            <vehicle:SupplierRate RateForPeriod="USD0.00" ExtraMileageCharge="USD0.00" />
         </vehicle:VehicleRate>
      </vehicle:Vehicle>
      <common_v48_0:MediaItem url="http://cdn.travelport.com/cmhertz/ZE_general_large_190054.jpg" sizeCode="S" />
   </vehicle:VehicleWithMediaItems>
   <vehicle:VehicleWithMediaItems>
      <vehicle:Vehicle VendorCode="ZE" AirConditioning="true" TransmissionType="Automatic" VehicleClass="Intermediate" Category="Car" DoorCount="FourToFiveDoors" AcrissVehicleCode="IDAR">
         <vehicle:VehicleRate RatePeriod="Other">
            <vehicle:SupplierRate RateForPeriod="USD0.00" ExtraMileageCharge="USD0.00" />
         </vehicle:VehicleRate>
      </vehicle:Vehicle>
      <common_v48_0:MediaItem url="http://cdn.travelport.com/cmhertz/ZE_general_large_190092.jpg" sizeCode="S" />
   </vehicle:VehicleWithMediaItems>
   <vehicle:VehicleWithMediaItems>
      <vehicle:Vehicle VendorCode="ZE" AirConditioning="true" TransmissionType="Manual" VehicleClass="Standard" Category="Van" AcrissVehicleCode="SVMR">
         <vehicle:VehicleRate RatePeriod="Other">
            <vehicle:SupplierRate RateForPeriod="USD0.00" ExtraMileageCharge="USD0.00" />
         </vehicle:VehicleRate>
      </vehicle:Vehicle>
      <common_v48_0:MediaItem url="https://cdn.travelport.com/cmhertz/ZE_general_large_180977.jpg" sizeCode="S" />
   </vehicle:VehicleWithMediaItems>
   <vehicle:VehicleWithMediaItems>
      <vehicle:Vehicle VendorCode="ZE" AirConditioning="true" TransmissionType="Automatic" VehicleClass="Fullsize" Category="Van" AcrissVehicleCode="FVAR">
         <vehicle:VehicleRate RatePeriod="Other">
            <vehicle:SupplierRate RateForPeriod="USD0.00" ExtraMileageCharge="USD0.00" />
         </vehicle:VehicleRate>
      </vehicle:Vehicle>
      <common_v48_0:MediaItem url="http://cdn.travelport.com/cmhertz/ZE_general_large_187803.jpg" sizeCode="S" />
   </vehicle:VehicleWithMediaItems>
   <vehicle:VehicleWithMediaItems>
      <vehicle:Vehicle VendorCode="ZE" AirConditioning="true" TransmissionType="Manual" VehicleClass="Premium" Category="Van" AcrissVehicleCode="PVMR">
         <vehicle:VehicleRate RatePeriod="Other">
            <vehicle:SupplierRate RateForPeriod="USD0.00" ExtraMileageCharge="USD0.00" />
         </vehicle:VehicleRate>
      </vehicle:Vehicle>
      <common_v48_0:MediaItem url="http://cdn.travelport.com/cmhertz/ZE_general_large_187547.jpg" sizeCode="S" />
   </vehicle:VehicleWithMediaItems>
   <vehicle:VehicleWithMediaItems>
      <vehicle:Vehicle VendorCode="ZE" AirConditioning="true" TransmissionType="Manual" VehicleClass="Compact" Category="StationWagon" AcrissVehicleCode="CWMR">
         <vehicle:VehicleRate RatePeriod="Other">
            <vehicle:SupplierRate RateForPeriod="USD0.00" ExtraMileageCharge="USD0.00" />
         </vehicle:VehicleRate>
      </vehicle:Vehicle>
      <common_v48_0:MediaItem url="http://cdn.travelport.com/cmhertz/ZE_general_large_191256.jpg" sizeCode="S" />
   </vehicle:VehicleWithMediaItems>
   <vehicle:VehicleWithMediaItems>
      <vehicle:Vehicle VendorCode="ZE" AirConditioning="true" TransmissionType="Manual" VehicleClass="Intermediate" Category="Monospace" AcrissVehicleCode="IMMR">
         <vehicle:VehicleRate RatePeriod="Other">
            <vehicle:SupplierRate RateForPeriod="USD0.00" ExtraMileageCharge="USD0.00" />
         </vehicle:VehicleRate>
      </vehicle:Vehicle>
      <common_v48_0:MediaItem url="http://cdn.travelport.com/cmhertz/ZE_general_large_190846.jpg" sizeCode="S" />
   </vehicle:VehicleWithMediaItems>
   <vehicle:VehicleWithMediaItems>
      <vehicle:Vehicle VendorCode="ZE" AirConditioning="true" TransmissionType="Manual" VehicleClass="Mini" Category="Special" AcrissVehicleCode="MXMR">
         <vehicle:VehicleRate RatePeriod="Other">
            <vehicle:SupplierRate RateForPeriod="USD0.00" ExtraMileageCharge="USD0.00" />
         </vehicle:VehicleRate>
      </vehicle:Vehicle>
      <common_v48_0:MediaItem url="http://cdn.travelport.com/cmhertz/ZE_general_large_188986.jpg" sizeCode="S" />
   </vehicle:VehicleWithMediaItems>
   <vehicle:VehicleWithMediaItems>
      <vehicle:Vehicle VendorCode="ZE" AirConditioning="true" TransmissionType="Manual" VehicleClass="Standard" Category="Special" AcrissVehicleCode="SXMR">
         <vehicle:VehicleRate RatePeriod="Other">
            <vehicle:SupplierRate RateForPeriod="USD0.00" ExtraMileageCharge="USD0.00" />
         </vehicle:VehicleRate>
      </vehicle:Vehicle>
      <common_v48_0:MediaItem url="http://cdn.travelport.com/cmhertz/ZE_general_large_190366.jpg" sizeCode="S" />
   </vehicle:VehicleWithMediaItems>
   <vehicle:VehicleWithMediaItems>
      <vehicle:Vehicle VendorCode="ZL" AirConditioning="true" TransmissionType="Manual" VehicleClass="Mini" Category="Car" DoorCount="FourToFiveDoors" AcrissVehicleCode="MDMR">
         <vehicle:VehicleRate RatePeriod="Other">
            <vehicle:SupplierRate RateForPeriod="USD0.00" ExtraMileageCharge="USD0.00" />
         </vehicle:VehicleRate>
      </vehicle:Vehicle>
      <common_v48_0:MediaItem url="https://cdn.travelport.com/cmnational/ZL_general_large_23221.jpg" sizeCode="S" />
   </vehicle:VehicleWithMediaItems>
   <vehicle:VehicleWithMediaItems>
      <vehicle:Vehicle VendorCode="ZL" AirConditioning="true" TransmissionType="Manual" VehicleClass="Economy" Category="Car" DoorCount="FourToFiveDoors" AcrissVehicleCode="EDMR">
         <vehicle:VehicleRate RatePeriod="Other">
            <vehicle:SupplierRate RateForPeriod="USD0.00" ExtraMileageCharge="USD0.00" />
         </vehicle:VehicleRate>
      </vehicle:Vehicle>
      <common_v48_0:MediaItem url="https://cdn.travelport.com/cmnational/ZL_general_large_23213.jpg" sizeCode="S" />
   </vehicle:VehicleWithMediaItems>
   <vehicle:VehicleWithMediaItems>
      <vehicle:Vehicle VendorCode="ZL" AirConditioning="true" TransmissionType="Manual" VehicleClass="Compact" Category="Car" DoorCount="FourToFiveDoors" AcrissVehicleCode="CDMR">
         <vehicle:VehicleRate RatePeriod="Other">
            <vehicle:SupplierRate RateForPeriod="USD0.00" ExtraMileageCharge="USD0.00" />
         </vehicle:VehicleRate>
      </vehicle:Vehicle>
      <common_v48_0:MediaItem url="https://cdn.travelport.com/cmnational/ZL_general_large_23210.jpg" sizeCode="S" />
   </vehicle:VehicleWithMediaItems>
   <vehicle:VehicleWithMediaItems>
      <vehicle:Vehicle VendorCode="ZL" AirConditioning="true" TransmissionType="Automatic" VehicleClass="Intermediate" Category="Car" DoorCount="FourToFiveDoors" AcrissVehicleCode="IDAR">
         <vehicle:VehicleRate RatePeriod="Other">
            <vehicle:SupplierRate RateForPeriod="USD0.00" ExtraMileageCharge="USD0.00" />
         </vehicle:VehicleRate>
      </vehicle:Vehicle>
      <common_v48_0:MediaItem url="https://cdn.travelport.com/cmnational/ZL_general_large_23218.jpg" sizeCode="S" />
   </vehicle:VehicleWithMediaItems>
   <vehicle:VehicleWithMediaItems>
      <vehicle:Vehicle VendorCode="ZL" AirConditioning="true" TransmissionType="Manual" VehicleClass="Fullsize" Category="Van" AcrissVehicleCode="FVMR">
         <vehicle:VehicleRate RatePeriod="Other">
            <vehicle:SupplierRate RateForPeriod="USD0.00" ExtraMileageCharge="USD0.00" />
         </vehicle:VehicleRate>
      </vehicle:Vehicle>
      <common_v48_0:MediaItem url="https://cdn.travelport.com/cmnational/ZL_general_large_23216.jpg" sizeCode="S" />
   </vehicle:VehicleWithMediaItems>
   <vehicle:VehicleWithMediaItems>
      <vehicle:Vehicle VendorCode="ZL" AirConditioning="true" TransmissionType="Manual" VehicleClass="Standard" Category="StationWagon" AcrissVehicleCode="SWMR">
         <vehicle:VehicleRate RatePeriod="Other">
            <vehicle:SupplierRate RateForPeriod="USD0.00" ExtraMileageCharge="USD0.00" />
         </vehicle:VehicleRate>
      </vehicle:Vehicle>
      <common_v48_0:MediaItem url="https://cdn.travelport.com/cmnational/ZL_general_large_23225.jpg" sizeCode="S" />
   </vehicle:VehicleWithMediaItems>
   <vehicle:VehicleWithMediaItems>
      <vehicle:Vehicle VendorCode="ZL" AirConditioning="true" TransmissionType="Automatic" VehicleClass="Standard" Category="StationWagon" AcrissVehicleCode="SWAR">
         <vehicle:VehicleRate RatePeriod="Other">
            <vehicle:SupplierRate RateForPeriod="USD0.00" ExtraMileageCharge="USD0.00" />
         </vehicle:VehicleRate>
      </vehicle:Vehicle>
      <common_v48_0:MediaItem url="https://cdn.travelport.com/cmnational/ZL_general_large_23224.jpg" sizeCode="S" />
   </vehicle:VehicleWithMediaItems>
   <vehicle:VehicleWithMediaItems>
      <vehicle:Vehicle VendorCode="ZL" AirConditioning="true" TransmissionType="Automatic" VehicleClass="Luxury" Category="StationWagon" AcrissVehicleCode="LWAR">
         <vehicle:VehicleRate RatePeriod="Other">
            <vehicle:SupplierRate RateForPeriod="USD0.00" ExtraMileageCharge="USD0.00" />
         </vehicle:VehicleRate>
      </vehicle:Vehicle>
      <common_v48_0:MediaItem url="https://cdn.travelport.com/cmnational/ZL_general_large_23220.jpg" sizeCode="S" />
   </vehicle:VehicleWithMediaItems>
   <vehicle:VehicleWithMediaItems>
      <vehicle:Vehicle VendorCode="AL" AirConditioning="true" TransmissionType="Manual" VehicleClass="Mini" Category="Car" DoorCount="FourToFiveDoors" AcrissVehicleCode="MDMR">
         <vehicle:VehicleRate RatePeriod="Other">
            <vehicle:SupplierRate RateForPeriod="USD0.00" ExtraMileageCharge="USD0.00" />
         </vehicle:VehicleRate>
      </vehicle:Vehicle>
      <common_v48_0:MediaItem url="https://cdn.travelport.com/cmalamo/AL_general_large_6844.jpg" sizeCode="S" />
   </vehicle:VehicleWithMediaItems>
   <vehicle:VehicleWithMediaItems>
      <vehicle:Vehicle VendorCode="AL" AirConditioning="true" TransmissionType="Manual" VehicleClass="Economy" Category="Car" DoorCount="FourToFiveDoors" AcrissVehicleCode="EDMR">
         <vehicle:VehicleRate RatePeriod="Other">
            <vehicle:SupplierRate RateForPeriod="USD0.00" ExtraMileageCharge="USD0.00" />
         </vehicle:VehicleRate>
      </vehicle:Vehicle>
      <common_v48_0:MediaItem url="https://cdn.travelport.com/cmalamo/AL_general_large_6831.jpg" sizeCode="S" />
   </vehicle:VehicleWithMediaItems>
   <vehicle:VehicleWithMediaItems>
      <vehicle:Vehicle VendorCode="AL" AirConditioning="true" TransmissionType="Manual" VehicleClass="Compact" Category="Car" DoorCount="FourToFiveDoors" AcrissVehicleCode="CDMR">
         <vehicle:VehicleRate RatePeriod="Other">
            <vehicle:SupplierRate RateForPeriod="USD0.00" ExtraMileageCharge="USD0.00" />
         </vehicle:VehicleRate>
      </vehicle:Vehicle>
      <common_v48_0:MediaItem url="https://cdn.travelport.com/cmalamo/AL_general_large_6827.jpg" sizeCode="S" />
   </vehicle:VehicleWithMediaItems>
   <vehicle:VehicleWithMediaItems>
      <vehicle:Vehicle VendorCode="AL" AirConditioning="true" TransmissionType="Automatic" VehicleClass="Intermediate" Category="Car" DoorCount="FourToFiveDoors" AcrissVehicleCode="IDAR">
         <vehicle:VehicleRate RatePeriod="Other">
            <vehicle:SupplierRate RateForPeriod="USD0.00" ExtraMileageCharge="USD0.00" />
         </vehicle:VehicleRate>
      </vehicle:Vehicle>
      <common_v48_0:MediaItem url="https://cdn.travelport.com/cmalamo/AL_general_large_6838.jpg" sizeCode="S" />
   </vehicle:VehicleWithMediaItems>
   <vehicle:VehicleWithMediaItems>
      <vehicle:Vehicle VendorCode="AL" AirConditioning="true" TransmissionType="Manual" VehicleClass="Fullsize" Category="Van" AcrissVehicleCode="FVMR">
         <vehicle:VehicleRate RatePeriod="Other">
            <vehicle:SupplierRate RateForPeriod="USD0.00" ExtraMileageCharge="USD0.00" />
         </vehicle:VehicleRate>
      </vehicle:Vehicle>
      <common_v48_0:MediaItem url="https://cdn.travelport.com/cmalamo/AL_general_large_6835.jpg" sizeCode="S" />
   </vehicle:VehicleWithMediaItems>
   <vehicle:VehicleWithMediaItems>
      <vehicle:Vehicle VendorCode="AL" AirConditioning="true" TransmissionType="Manual" VehicleClass="Standard" Category="StationWagon" AcrissVehicleCode="SWMR">
         <vehicle:VehicleRate RatePeriod="Other">
            <vehicle:SupplierRate RateForPeriod="USD0.00" ExtraMileageCharge="USD0.00" />
         </vehicle:VehicleRate>
      </vehicle:Vehicle>
      <common_v48_0:MediaItem url="https://cdn.travelport.com/cmalamo/AL_general_large_6849.jpg" sizeCode="S" />
   </vehicle:VehicleWithMediaItems>
   <vehicle:VehicleWithMediaItems>
      <vehicle:Vehicle VendorCode="AL" AirConditioning="true" TransmissionType="Automatic" VehicleClass="Standard" Category="StationWagon" AcrissVehicleCode="SWAR">
         <vehicle:VehicleRate RatePeriod="Other">
            <vehicle:SupplierRate RateForPeriod="USD0.00" ExtraMileageCharge="USD0.00" />
         </vehicle:VehicleRate>
      </vehicle:Vehicle>
      <common_v48_0:MediaItem url="https://cdn.travelport.com/cmalamo/AL_general_large_6848.jpg" sizeCode="S" />
   </vehicle:VehicleWithMediaItems>
   <vehicle:VehicleWithMediaItems>
      <vehicle:Vehicle VendorCode="AL" AirConditioning="true" TransmissionType="Automatic" VehicleClass="Luxury" Category="StationWagon" AcrissVehicleCode="LWAR">
         <vehicle:VehicleRate RatePeriod="Other">
            <vehicle:SupplierRate RateForPeriod="USD0.00" ExtraMileageCharge="USD0.00" />
         </vehicle:VehicleRate>
      </vehicle:Vehicle>
      <common_v48_0:MediaItem url="https://cdn.travelport.com/cmalamo/AL_general_large_6843.jpg" sizeCode="S" />
   </vehicle:VehicleWithMediaItems>
   <vehicle:VehicleWithMediaItems>
      <vehicle:Vehicle VendorCode="ET" AirConditioning="true" TransmissionType="Manual" VehicleClass="Mini" Category="Car" DoorCount="FourToFiveDoors" AcrissVehicleCode="MDMR">
         <vehicle:VehicleRate RatePeriod="Other">
            <vehicle:SupplierRate RateForPeriod="USD0.00" ExtraMileageCharge="USD0.00" />
         </vehicle:VehicleRate>
      </vehicle:Vehicle>
      <common_v48_0:MediaItem url="https://cdn.travelport.com/cmenterprise/ET_general_large_13568.jpg" sizeCode="S" />
   </vehicle:VehicleWithMediaItems>
   <vehicle:VehicleWithMediaItems>
      <vehicle:Vehicle VendorCode="ET" AirConditioning="true" TransmissionType="Manual" VehicleClass="Economy" Category="Car" DoorCount="FourToFiveDoors" AcrissVehicleCode="EDMR">
         <vehicle:VehicleRate RatePeriod="Other">
            <vehicle:SupplierRate RateForPeriod="USD0.00" ExtraMileageCharge="USD0.00" />
         </vehicle:VehicleRate>
      </vehicle:Vehicle>
      <common_v48_0:MediaItem url="https://cdn.travelport.com/cmenterprise/ET_general_large_13561.jpg" sizeCode="S" />
   </vehicle:VehicleWithMediaItems>
   <vehicle:VehicleWithMediaItems>
      <vehicle:Vehicle VendorCode="ET" AirConditioning="true" TransmissionType="Manual" VehicleClass="Compact" Category="Car" DoorCount="FourToFiveDoors" AcrissVehicleCode="CDMR">
         <vehicle:VehicleRate RatePeriod="Other">
            <vehicle:SupplierRate RateForPeriod="USD0.00" ExtraMileageCharge="USD0.00" />
         </vehicle:VehicleRate>
      </vehicle:Vehicle>
      <common_v48_0:MediaItem url="https://cdn.travelport.com/cmenterprise/ET_general_large_13558.jpg" sizeCode="S" />
   </vehicle:VehicleWithMediaItems>
   <vehicle:VehicleWithMediaItems>
      <vehicle:Vehicle VendorCode="ET" AirConditioning="true" TransmissionType="Automatic" VehicleClass="Intermediate" Category="Car" DoorCount="FourToFiveDoors" AcrissVehicleCode="IDAR">
         <vehicle:VehicleRate RatePeriod="Other">
            <vehicle:SupplierRate RateForPeriod="USD0.00" ExtraMileageCharge="USD0.00" />
         </vehicle:VehicleRate>
      </vehicle:Vehicle>
      <common_v48_0:MediaItem url="https://cdn.travelport.com/cmenterprise/ET_general_large_13565.jpg" sizeCode="S" />
   </vehicle:VehicleWithMediaItems>
   <vehicle:VehicleWithMediaItems>
      <vehicle:Vehicle VendorCode="ET" AirConditioning="true" TransmissionType="Manual" VehicleClass="Fullsize" Category="Van" AcrissVehicleCode="FVMR">
         <vehicle:VehicleRate RatePeriod="Other">
            <vehicle:SupplierRate RateForPeriod="USD0.00" ExtraMileageCharge="USD0.00" />
         </vehicle:VehicleRate>
      </vehicle:Vehicle>
      <common_v48_0:MediaItem url="https://cdn.travelport.com/cmenterprise/ET_general_large_13564.jpg" sizeCode="S" />
   </vehicle:VehicleWithMediaItems>
   <vehicle:VehicleWithMediaItems>
      <vehicle:Vehicle VendorCode="ET" AirConditioning="true" TransmissionType="Manual" VehicleClass="Standard" Category="StationWagon" AcrissVehicleCode="SWMR">
         <vehicle:VehicleRate RatePeriod="Other">
            <vehicle:SupplierRate RateForPeriod="USD0.00" ExtraMileageCharge="USD0.00" />
         </vehicle:VehicleRate>
      </vehicle:Vehicle>
      <common_v48_0:MediaItem url="https://cdn.travelport.com/cmenterprise/ET_general_large_13572.jpg" sizeCode="S" />
   </vehicle:VehicleWithMediaItems>
   <vehicle:VehicleWithMediaItems>
      <vehicle:Vehicle VendorCode="ET" AirConditioning="true" TransmissionType="Automatic" VehicleClass="Standard" Category="StationWagon" AcrissVehicleCode="SWAR">
         <vehicle:VehicleRate RatePeriod="Other">
            <vehicle:SupplierRate RateForPeriod="USD0.00" ExtraMileageCharge="USD0.00" />
         </vehicle:VehicleRate>
      </vehicle:Vehicle>
      <common_v48_0:MediaItem url="https://cdn.travelport.com/cmenterprise/ET_general_large_13571.jpg" sizeCode="S" />
   </vehicle:VehicleWithMediaItems>
   <vehicle:VehicleWithMediaItems>
      <vehicle:Vehicle VendorCode="ET" AirConditioning="true" TransmissionType="Automatic" VehicleClass="Luxury" Category="StationWagon" AcrissVehicleCode="LWAR">
         <vehicle:VehicleRate RatePeriod="Other">
            <vehicle:SupplierRate RateForPeriod="USD0.00" ExtraMileageCharge="USD0.00" />
         </vehicle:VehicleRate>
      </vehicle:Vehicle>
      <common_v48_0:MediaItem url="https://cdn.travelport.com/cmenterprise/ET_general_large_13567.jpg" sizeCode="S" />
   </vehicle:VehicleWithMediaItems>
</vehicle:VehicleMediaLinksRsp>

那么为什么我会收到这个错误? 谢谢。

【问题讨论】:

  • 欢迎来到 Stack Overflow。如果您可以为此提供一个minimal reproducible example,这将非常有帮助,它有一个格式良好但 XML 文档,而不是一个单独一行的巨型文档。我怀疑只有一个带有一个子元素的根元素,以及要匹配的类,就足以证明这个问题。
  • 请注意格式。解释出了什么问题的错误被破坏了,XML 文本是一个非常长且不可读的行。您只需要第一个 XML 元素即可重现此类错误,无需任何内容。
  • 你确定吗?错误消息不适合 XML。您能否显示您尝试反序列化 XML 的代码?
  • XmlSerializer serializer1 = new XmlSerializer(typeof(VehicleMedia.VehicleMediaLinksRsp));使用 (StringReader reader = new StringReader(xml)) { VehicleMedia.VehicleMediaLinksRsp Vmedia = (VehicleMedia.VehicleMediaLinksRsp)(serializer.Deserialize(reader)); }
  • 你知道你可以edit你的问题吗?最好向您的问题添加其他信息,而不是将其隐藏在评论中。

标签: c# xml xmlserializer


【解决方案1】:

您的代码有效。下面测试了

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

namespace ConsoleApplication166
{
    class Program
    {
        const string FILENAME = @"c:\temp\test.xml";
        static void Main(string[] args)
        {
            string file = File.ReadAllText(FILENAME);
            StringReader sReader = new StringReader(file);
            XmlReader reader = XmlReader.Create(sReader);
            XmlSerializer serializer = new XmlSerializer(typeof(VehicleMediaLinksRsp));
            VehicleMediaLinksRsp vehicleMediaLinksRsp = (VehicleMediaLinksRsp)serializer.Deserialize(reader);
        }
    }
    [XmlRoot(ElementName = "SupplierRate", Namespace = "http://www.travelport.com/schema/vehicle_v48_0")]
    public class SupplierRate
    {
        [XmlAttribute(AttributeName = "RateForPeriod")]
        public string RateForPeriod { get; set; }
        [XmlAttribute(AttributeName = "ExtraMileageCharge")]
        public string ExtraMileageCharge { get; set; }
    }

    [XmlRoot(ElementName = "VehicleRate", Namespace = "http://www.travelport.com/schema/vehicle_v48_0")]
    public class VehicleRate
    {
        [XmlElement(ElementName = "SupplierRate", Namespace = "http://www.travelport.com/schema/vehicle_v48_0")]
        public SupplierRate SupplierRate { get; set; }
        [XmlAttribute(AttributeName = "RatePeriod")]
        public string RatePeriod { get; set; }
    }

    [XmlRoot(ElementName = "Vehicle", Namespace = "http://www.travelport.com/schema/vehicle_v48_0")]
    public class Vehicle
    {
        [XmlElement(ElementName = "VehicleRate", Namespace = "http://www.travelport.com/schema/vehicle_v48_0")]
        public VehicleRate VehicleRate { get; set; }
        [XmlAttribute(AttributeName = "VendorCode")]
        public string VendorCode { get; set; }
        [XmlAttribute(AttributeName = "AirConditioning")]
        public string AirConditioning { get; set; }
        [XmlAttribute(AttributeName = "TransmissionType")]
        public string TransmissionType { get; set; }
        [XmlAttribute(AttributeName = "VehicleClass")]
        public string VehicleClass { get; set; }
        [XmlAttribute(AttributeName = "Category")]
        public string Category { get; set; }
        [XmlAttribute(AttributeName = "DoorCount")]
        public string DoorCount { get; set; }
        [XmlAttribute(AttributeName = "AcrissVehicleCode")]
        public string AcrissVehicleCode { get; set; }
    }

    [XmlRoot(ElementName = "MediaItem", Namespace = "http://www.travelport.com/schema/common_v48_0")]
    public class MediaItem
    {
        [XmlAttribute(AttributeName = "url")]
        public string Url { get; set; }
        [XmlAttribute(AttributeName = "sizeCode")]
        public string SizeCode { get; set; }
    }

    [XmlRoot(ElementName = "VehicleWithMediaItems", Namespace = "http://www.travelport.com/schema/vehicle_v48_0")]
    public class VehicleWithMediaItems
    {
        [XmlElement(ElementName = "Vehicle", Namespace = "http://www.travelport.com/schema/vehicle_v48_0")]
        public Vehicle Vehicle { get; set; }
        [XmlElement(ElementName = "MediaItem", Namespace = "http://www.travelport.com/schema/common_v48_0")]
        public MediaItem MediaItem { get; set; }
    }

    [XmlRoot(ElementName = "VehicleMediaLinksRsp", Namespace = "http://www.travelport.com/schema/vehicle_v48_0")]
    public class VehicleMediaLinksRsp
    {
        [XmlElement(ElementName = "VehicleWithMediaItems", Namespace = "http://www.travelport.com/schema/vehicle_v48_0")]
        public List<VehicleWithMediaItems> VehicleWithMediaItems { get; set; }
        [XmlAttribute(AttributeName = "TransactionId")]
        public string TransactionId { get; set; }
        [XmlAttribute(AttributeName = "ResponseTime")]
        public string ResponseTime { get; set; }
        [XmlAttribute(AttributeName = "vehicle", Namespace = "http://www.w3.org/2000/xmlns/")]
        public string Vehicle { get; set; }
        [XmlAttribute(AttributeName = "common_v48_0", Namespace = "http://www.w3.org/2000/xmlns/")]
        public string Common_v48_0 { get; set; }
    }

 
}

【讨论】:

    猜你喜欢
    • 2012-05-17
    • 2013-04-04
    • 1970-01-01
    • 2023-03-28
    • 2016-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-08
    相关资源
    最近更新 更多