2014-04-02 4 views
0

Я использую nant для автоматизации сборки. Внутри моего файла nant я включаю еще один файл peroperty со всеми свойствами, которые я использую.Nant Propety с &

Позже я использовать существующие свойства, чтобы заменить маркеры в моем файле web.config

<copy file="web.config" tofile="templateed.web.config" overwrite="true"> 
    <filterchain> 
    <expandproperties/> 
    </filterchain> 
</copy> 

в файле свойств я иметь следующее свойство

<property name="url" value="/test?key=1&amp;value=1" /> 

результат: /test?key=1&value=1

ожидается: /test?key=1&amp;value=1

Кто-нибудь знает, как это сделать?

Спасибо!

Юрга

ответ

2

& означает "начало отсчета символа" в XML.

Если вы хотите получить данные &, вы должны использовать ссылку на символ: &amp;.

Итак, если вы хотите, чтобы данные &amp; были использованы в качестве данных, вы должны заменить & на &amp; такой: &amp;amp;.


Однако то, что у вас есть Теперь представляется правильным за "URL". Поэтому, если вы хотите взять эти данные и поместить их в другой файл XML, вероятно, вы должны позволить его декодировать до /test?key=1&value=1, но затем закодировать его для XML, когда вы поместите его в новый XML.

+0

Я также придумал решение, используя '& amp;'. Но мой процесс сборки также создает другие файлы свойств, которые включены позже. поэтому преобразование происходит несколько раз. В этом случае это решение больше не работает. – tschuege

+0

Исправьте все, что делает преобразование, поэтому он предназначен для ввода и вывода XML, а не только для ввода. – Quentin

Смежные вопросы