Сериализация из объекта в узел XML - PullRequest
0 голосов
/ 25 февраля 2019

У меня есть 2 веб-сервиса.Один веб-сервис принимает объект типа A. При использовании «Добавить ссылку на сервис» в Visual Studio он создает класс с именем AType.

Метод ввода моего второго веб-сервиса (называемый x (..).)) фактически принимает параметр типа A, но по какой-то причине WSDL является неправильным и объявляет его как ## any.

<any namespace="##any" processContents="lax" minOccurs="1" maxOccurs="1">

Это означает, что в моем коде мне придется создать XmlElementиз XmlDocument:

private static XmlDocument doc = new XmlDocument();
XmlElement e = doc.CreateElement("some-name", "some-uri");

Есть ли способ конвертировать AType в XmlElement?Должен ли я сначала вернуться к строке?

В качестве альтернативы я подумываю объединить два файла WSDL веб-службы ...

1 Ответ

0 голосов
/ 26 февраля 2019

Я наконец обнаружил, что следующий код делает именно то, что я ищу:

    public static XmlElement Serialize(MyObject someClassInstance)
    {            
        XmlSerializer serializer = new XmlSerializer(typeof(MyObject));
        XmlDocument doc = new XmlDocument();

        XPathNavigator nav = doc.CreateNavigator();
        XmlWriter writer = nav.AppendChild();
        serializer.Serialize(writer, someClassInstance);
        writer.WriteEndDocument();
        writer.Flush();
        writer.Close();
        return doc.DocumentElement;
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...