Я десериализирую XML-файл, полученный из веб-службы одного из наших клиентов.
Проблема в том, что после создания класса с помощью xsd.exe я десериализирую файл и получаю обычное сообщение «В документе XML есть ошибка (2, 2)». визуальная студийная ошибка. Я предполагаю, что это строка 2, которая указывает на объявления пространства имен:
Начало XML-файла:
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/1999/XMLSchema" xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance">
<soapenv:Body><MXWorkorderOutResp language="EN" xmlns="http://www.mro.com/mx/integration" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Header event="0" operation="Response" rsCount="8" rsStart="0" rsTotal="8">
<SenderID build="127" dbbuild="V600-467" majorversion="6" minorversion="1" type="MAXIMO">MX</SenderID>
<CreationDateTime>2009-05-11T09:48:51+01:00</CreationDateTime>
<RecipientID>SUPPLIER</RecipientID>
<MessageID>12420317323327108</MessageID>
</Header>
<Content>
<MXWORKORDER>
<WORKORDER>
Топ класса:
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.42")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.mro.com/mx/integration")]
[System.Xml.Serialization.XmlRootAttribute(Namespace="http://www.mro.com/mx/integration", IsNullable=false)]
public partial class MXWorkorderOutResp {
private MXWorkorderOutRespHeader[] headerField;
private MXWorkorderOutRespContentMXWORKORDERWORKORDER[][][] contentField;
private string languageField;
/// <remarks/>
[System.Xml.Serialization.XmlElementAttribute("Header")]
public MXWorkorderOutRespHeader[] Header {
get {
return this.headerField;
}
set {
this.headerField = value;
}
}
/// <remarks/>
[System.Xml.Serialization.XmlArrayItemAttribute("MXWORKORDER", typeof(MXWorkorderOutRespContentMXWORKORDERWORKORDER[]), IsNullable=false)]
[System.Xml.Serialization.XmlArrayItemAttribute("WORKORDER", typeof(MXWorkorderOutRespContentMXWORKORDERWORKORDER), IsNullable=false, NestingLevel=1)]
public MXWorkorderOutRespContentMXWORKORDERWORKORDER[][][] Content {
Я предполагаю, что есть ошибка с:
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.mro.com/mx/integration")]
[System.Xml.Serialization.XmlRootAttribute(Namespace="http://www.mro.com/mx/integration", IsNullable=false)]
часть XML, но я понятия не имею, на что его изменить или чего хочет VS.
любая помощь, уважаемые парни, я все еще довольно новичок во всем этом, и мой босс все время дышит мной, чтобы заставить это работать: (
РЕДАКТИРОВАТЬ: Есть внутреннее исключение да! Простите, ребята!
{"<Envelope xmlns='http://schemas.xmlsoap.org/soap/envelope/'> was not expected."}
Так как мне добавить это объявление пространства имен в класс?