으로
<Cars>
<Car>
<LicencePlate></LicencePlate>
</Car>
<Cars>
있다가
XmlSerializer ser = new XmlSerializer(ListCars.GetType(), new XmlRootAttribute("Cars"));
하지만이 XML은 클래스에 'Cars'속성이 없으므로이 XML에 오류가 발생합니다.
누군가 나를 도울 수 있습니까?
으로
<Cars>
<Car>
<LicencePlate></LicencePlate>
</Car>
<Cars>
있다가
XmlSerializer ser = new XmlSerializer(ListCars.GetType(), new XmlRootAttribute("Cars"));
하지만이 XML은 클래스에 'Cars'속성이 없으므로이 XML에 오류가 발생합니다.
누군가 나를 도울 수 있습니까?
의심이 제대로 수행이 래퍼는 직렬화 알아야
[XmlRoot("Cars"), XmlType("Cars")]
public class SomeWrapper {
[XmlElement("Car")]
public List<Car> Cars { get { return cars; } }
private readonly List<Car> cars = new List<Car>();
}
는/제대로 역 직렬화.
개체를 serialize 할 때 사용한 것과 동일한 XmlSerializer를 사용하여 개체를 deserialize해야합니다. 일반적으로 XmlElementAttribute
및 관련 XML 직렬화 속성을 사용하여 클래스 자체에 XML 구조를 지정합니다.
개체를 serialize 할 때 어떤 이유로 루트 요소를 재정의해야하는 경우 루트 요소를 다른 방향으로 재정의해야합니다.
var output = new MemoryStream();
LoadSerializedObjectIntoTheStream(output);
var ser = new XmlSerializer(typeof(ListCars), new XmlRootAttribute("Cars"));
var carlist = ser.Deserialize(output) as ListCars;
하지만 XML이 생성되지 않아 누가 태그 이름을 모르는지를 생성하므로이 태그 이름을 바꾸는 쉬운 방법을 알고 싶습니다 –
XML 문서를 XML로 열고 이름을 읽을 수 있습니까? 루트 태그의? –
이 시도 :
기록 자동차 클래스 :
public class Car
{
public string LicencePlate { get; set; }
}
귀하의 XML 클래스 :
[XmlRoot("Cars")]
public class ListCars
{
[XmlElement("Car")]
public List<Car> Car { get; set; }
}
건배.
역 직렬화에 동일한 코드를 사용합니까? –