Использование альтернативного DTD XML с приложением веб-службы ASP.NET - PullRequest
0 голосов
/ 11 августа 2009

Я новичок в .NET Framework (и на самом деле считаю себя скорее системным администратором), но создаю веб-сервис, который должен возвращать данные в другую систему. Я использовал значения по умолчанию из проекта приложения веб-службы ASP.NET. Проблема в том, что я не могу найти настройку для использования альтернативного DTD. Так что по умолчанию проект возвращает это, когда я возвращаю простой объект, я получаю что-то вроде этого

<?xml version="1.0" encoding="utf-8"?>
<foo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://foo.com">
  <foo1>1</foo1>
  <bar>2</bar>
  <baz>3</baz>
</foo> `

Когда то, что я действительно хотел бы, это что-то вроде этого ...

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE ivr_info SYSTEM "http://www.mybz.com/xml/ivr.dtd">
<response>
    <result>
        <ivr_info>
            <variables>
                <variable>
                    <name>foo1</name>
                    <value>1</value>
                </variable>
                <variable>
                    <name>bar</name>
                    <value>2</value>
                </variable>
            </variables>
        </ivr_info>
    </result>
</response>

У меня есть DTD для нового формата. Есть ли способ импортировать его в веб-сервис или мне нужно перейти на более низкий уровень и просто записать и проанализировать входящие потоки? Заранее спасибо за любую информацию.

1 Ответ

0 голосов
/ 14 августа 2009

Веб-сервисы ASP.Net внутренне обрабатывают всю сериализацию xml, поэтому вы видите стандартное представление, которое вы впервые перечислили.

Вы можете контролировать сериализацию, используя WCF. Тем не менее, это включает в себя кодирование на более базовых уровнях для генерации того типа результата, который вы ищете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...