Теги сервера оставляют пустые строки в содержимом XML - PullRequest
4 голосов
/ 13 октября 2011

Я занимаюсь разработкой приложения ASP.net, которое выводит контент xml в мои файлы aspx.Это приложение работает как RSS-фидер.Одна вещь, которую я заметил, которая меня очень беспокоит, это то, что строки, содержащие код сервера, будут выводить пустую строку в конечном xml-содержимом, например:

<?xml version="1.0" encoding="utf-8" ?>
<foo>
    <tagOne>
        <% If(something) Then %>
            <myText>something</myText>
        <% End If %>
    </tagOne>
</foo>

Если что-то верно, это выдает следующее:

<?xml version="1.0" encoding="utf-8" ?>
<foo>
    <tagOne>

            <myText>something</myText>

    </tagOne>
</foo>

Как избавиться от этих пустых строк, не вводя код только в одну строку?

Создав только одну строку, я затрудняю редактирование в будущем инекоторые из этих файлов содержат 2000 или более строк кода, которые в одной строке было бы ужасно редактировать и поддерживать.

Ответы [ 2 ]

2 голосов
/ 19 октября 2011

Серверный код, похоже, сохраняет пробелы между тегами XML.Я не знаком с ASP, но я понял, что пробелы сразу после <% и прямо перед %> незначительны.Предполагая, что пробелы внутри «тегов» ASP не сохраняются, вы должны быть в состоянии избавиться от лишних пробелов и , тем не менее сохраняя отступ / форматирование в коде вашего сервера, если просто переместить <%и / или %> маркеры, чтобы отступы находились внутри команды ASP.

<?xml version="1.0" encoding="utf-8" ?>
<foo>
    <tagOne><% 
        If(something) Then %>
            <myText>something</myText><%
        End If %>
    </tagOne>
</foo>
0 голосов
/ 14 октября 2011

Я действительно не знаю, решит ли это, но попробую;

<?xml version="1.0" encoding="utf-8" ?>
<foo>
    <tagOne>
    <% If(something) Then %><myText>something</myText><% End If %>
    </tagOne>
</foo>
...