Это подлинный пример вашего XML? Ваш тег закрывается неправильно
<detail>
<SwiftMessage><SWIFT>hi<SWIFT/><SwiftMessage/>
<detail/>
Должно быть:
<detail>
<SwiftMessage><SWIFT>hi</SWIFT></SwiftMessage>
</detail>
Обратная косая черта в конце имени элемента означает, что элемент пустой, как тег html br: <br/>
Итак, ваш XML говорит: открыть тег детализации, открыть тег SwiftMessage, открыть тег SWIFT, текст hi, добавить пустой тег SWIFT, добавить пустой тег SwiftMessage, добавить пустой тег подробностей. Теги на самом деле не закрываются.
Я предполагаю, что получающее приложение ожидает элемент SWIFT в качестве действительного XML, а не строки? Возможно, вам придется показать, как вы добавляете элемент SWIFT. Если вы введете его в значение элемента SwiftMessage, оно, вероятно, будет интерпретировано как строковое значение, при этом ваш XML-процессор автоматически заменит <
на <
и >
на >
, поскольку эти символы зарезервированы для конструирования элементов. .
В противном случае, если вы хотите, чтобы элемент SWIFT рассматривался как строковое значение, вам необходимо использовать раздел CDATA.