<?xml version="1.0" encoding="UTF-8"?>
<Order xmlns="urn:schemas-alibaba-com:billing-data" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<Currency>USD</Currency>
<Description>description</Description>
</Order>
У меня есть указанная выше строка xml, которую я пытаюсь десериализовать для объекта. Это автоматически сгенерированный класс.Deserializing xml to object вызывает ошибку
[XmlTypeAttribute(AnonymousType = true,
Namespace = "urn:schemas-alibaba-com:billing-data")]
[XmlRootAttribute(ElementName="Order",
Namespace = "urn:schemas-alibaba-com:billing-data",
IsNullable = false)]
public partial class Order
{
private string currencyField;
private object descriptionField;
}
Я получаю исключение:
Exception:
{"There is an error in XML document (1, 2)."}
Inner exception :
{"<Order xmlns='urn:schemas-alibaba-com:billing-data'> was not expected."}
Что я здесь отсутствует? Ниже приведен код десериализации: строка 3 выдает исключение.
var xmlReader = new StringReader(xml_data);
var serializer = new XmlSerializer(typeof(Order));
var instance = (Order)serializer.Deserialize(xmlReader);
я сделал. но у моего xml есть пространство имен, и поэтому я думаю, что это не должно быть исключение. – keeda
@keeda ты уверен? Это работает. Вы изменяете содержимое xml в памяти ... все, что вы передаете в 'xml_data'? Вы меняете кодировку или что-то в этом роде? – Leo
@Leo Я использую строку прямо, что я извлекаю из db. похоже, все в порядке. – keeda