Как создать xelement для этого XML?
Это мой запрос xml. Мне нужно преобразовать XElement в C#.
<soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://webservices.bit.com" xmlns:ter="http://tp.requests.objects.webservice.cc.bit.com"> <soapenv:header> <web:authenticationtoken> <web:key>rgg3 <web:password>testenv <web:user>test@gmail.com <soapenv:body> <web:getsbyzip> <web:getsbyzipcoderequest> <ter:arraygetbyzipcode> <!--Zero or more repetitions:--> <ter:getbyzipcode> <ter:servicelevel>KK <ter:servicewing>Takal <ter:getbyzipcode> <ter:servicelevel>KK <ter:servicewing>Takal
Что я уже пробовал:
public XElement GetRequestXml(GetModel getModel) { XNamespace web = "http://webservices.bit.com"; XNamespace soapenv = "http://schemas.xmlsoap.org/soap/envelope/"; XNamespace ter = "http://tp.requests.objects.webservice.cc.bit.com"; XElement requestXml = new XElement(soapenv + "Envelope", new XElement(soapenv + "Header", new XElement(web + "AuthenticationToken", new XAttribute(web + "key", "rgg3"), new XAttribute(web + "password", "testenv"), new XAttribute(web + "user", "test@gmail.com"))), new XElement(soapenv + "Body", new XElement(web + "GetByZioCode", new XElement(web + "GetByZipCodeRequest", new XElement(ter + "arrayTerminalByZipCode", new XElement(ter + "TerminalByZipCode", new XAttribute(ter + "serviceLevel", getModel.serviceLevel), new XAttribute(ter + "servicewing", getModel.servicewing) new XElement(ter + "TerminalByZipCode", new XAttribute(ter + "serviceLevel", getModel.serviceLevel), new XAttribute(ter + "servicewing", getModel.servicewing), )))); return requestXml; }
Я попробовал вышеприведенный код. если это поможет. заранее спасибо.
Patrice T
в чем заключается вопрос/проблема?
Richard Deeming
Ваш пример XML является недопустимым. Некоторые имена в вашем коде C# не совпадают с именами в Примере XML. И ваш код C# использует атрибуты там, где ваш пример XML содержит элементы.