отправить сообщение в очередь EMS с несколькими xml сообщениями в одном текстовом файле - PullRequest
0 голосов
/ 01 апреля 2020

Я написал код Java, чтобы прочитать текстовый файл с несколькими xml сообщениями и отправить их в очередь EMS.

Мой входной файл выглядит следующим образом:

 Product name is iPhone<product:iPhone>
    <servicetag>55</servicetag>
    </product>
Product name is Nokia<product:Nokia>
    <servicetag> 54</servicetag></product>

Теперь мой код выглядит следующим образом:

File xml = new File( file location);
Reader fileReader = new FileReader(xml) ;
BufferedReader bufReader = new BufferedReader(fileReader) ;
StringBuilder sb = new StringBuilder() ;
String line = bufReader.readLine() ;
while(line! = null) {
sb.append(line).append("\n");

 line=bufReader.readLine();
}
 String xml2= sb.toString() ;
 final Pattern pattern = Pattern.compile("product(.+?)/product", Pattern.DOTALL) ;
final Matched matcher = pattern.matcher(xml2) ;
 while(matcher.find()) {
 String matched pattern = matcher.group(0);
 TextMessage message = context.createTextMessage(matched pattern) ;
 producer= context.createProducer();
  Producer.send(destination, message) ;
 }

Но когда сообщение достигает очереди, оно не выглядит xml. Он получает «<» вместо <и «>» вместо>

Я знаю, что <означает <, но как я могу это исправить, поскольку сообщение не имеет смысла. </p>

Мой вывод должен быть похож на приведенное ниже сообщение в EMS

<product:iPhone>
<servicetag>55</servicetag>
</product>

Сообщение 2

<product:Nokia>
<servicetag> 54</servicetag></product>

Пожалуйста, дайте мне знать, если есть лучший способ сделать это.

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