试图将XML字符串解析为c#对象,但没有成功
我正在尝试将一些XML字符串反序列化为一个对象。但总是会出现下一个错误: XML文档(1,2)中存在错误。不是 预料之中 我还试图删除试图将XML字符串解析为c#对象,但没有成功,c#,xml,xmlserializer,C#,Xml,Xmlserializer,我正在尝试将一些XML字符串反序列化为一个对象。但总是会出现下一个错误: XML文档(1,2)中存在错误。不是 预料之中 我还试图删除xmlns:vehicle=\”http://www.travelport.com/schema/vehicle_v48_0\“从xml 但后来我发现,‘vehicle’是一个未声明的前缀。第1行,位置2 目标是: namespace VehicleMedia { [XmlRoot(ElementName = "SupplierRate"
xmlns:vehicle=\”http://www.travelport.com/schema/vehicle_v48_0\“
从xml
但后来我发现,‘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; }
}
}
命名空间车辆媒体
{
[XmlRoot(ElementName=“SupplierRate”,命名空间=”http://www.travelport.com/schema/vehicle_v48_0")]
公共级供应商
{
[XmlAttribute(AttributeName=“RateForPeriod”)]
公共字符串RateForPeriod{get;set;}
[XmlAttribute(AttributeName=“ExtraMileageCharge”)]
公共字符串ExtraMileageCharge{get;set;}
}
[XmlRoot(ElementName=“VehicleRate”,命名空间=”http://www.travelport.com/schema/vehicle_v48_0")]
公车
{
[XmlElement(ElementName=“SupplierRate”,命名空间=”http://www.travelport.com/schema/vehicle_v48_0")]
公共提供程序提供程序{get;set;}
[XmlAttribute(AttributeName=“RatePeriod”)]
公共字符串RatePeriod{get;set;}
}
[XmlRoot(ElementName=“Vehicle”,命名空间=”http://www.travelport.com/schema/vehicle_v48_0")]
公车
{
[XmlElement(ElementName=“VehicleRate”,命名空间=”http://www.travelport.com/schema/vehicle_v48_0")]
公共车辆通行证{get;set;}
[xmldattribute(AttributeName=“VendorCode”)]
公共字符串VendorCode{get;set;}
[XmlAttribute(AttributeName=“空调”)]
公共字符串空调{get;set;}
[XmlAttribute(AttributeName=“TransmissionType”)]
公共字符串传输类型{get;set;}
[XmlAttribute(AttributeName=“VehicleClass”)]
公共字符串VehicleClass{get;set;}
[XmlAttribute(AttributeName=“Category”)]
公共字符串类别{get;set;}
[XmlAttribute(AttributeName=“DoorCount”)]
公共字符串门计数{get;set;}
[xmldattribute(AttributeName=“acrissvicecode”)]
公共字符串AcrissVehicleCode{get;set;}
}
[XmlRoot(ElementName=“MediaItem”,命名空间=”http://www.travelport.com/schema/common_v48_0")]
公共类MediaItem
{
[XmlAttribute(AttributeName=“url”)]
公共字符串Url{get;set;}
[xmldattribute(AttributeName=“sizeCode”)]
公共字符串大小码{get;set;}
}
[XmlRoot(ElementName=“VehicleWithMediaItems”,命名空间=”http://www.travelport.com/schema/vehicle_v48_0")]
带媒体项目的公共类车辆
{
[XmlElement(ElementName=“Vehicle”,命名空间=”http://www.travelport.com/schema/vehicle_v48_0")]
公共车辆{get;set;}
[XmlElement(ElementName=“MediaItem”,命名空间=”http://www.travelport.com/schema/common_v48_0")]
公共MediaItem MediaItem{get;set;}
}
[XmlRoot(ElementName=“VehicleMediaLinksRsp”,命名空间=”http://www.travelport.com/schema/vehicle_v48_0")]
公共级车辆MedialinkSRSP
{
[XmlElement(ElementName=“VehicleWithMediaItems”,命名空间=”http://www.travelport.com/schema/vehicle_v48_0")]
公共列表车辆WithMediaItems{get;set;}
[XmlAttribute(AttributeName=“TransactionId”)]
公共字符串TransactionId{get;set;}
[XmlAttribute(AttributeName=“ResponseTime”)]
公共字符串响应时间{get;set;}
[XmlAttribute(AttributeName=“vehicle”,命名空间=”http://www.w3.org/2000/xmlns/")]
公共字符串Vehicle{get;set;}
[XmlAttribute(AttributeName=“common\u v48\u 0”,命名空间=”http://www.w3.org/2000/xmlns/")]
公共字符串公共_v48_0{get;set;}
}
}
例如,xml字符串是:
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; }
}
}