Как определить конец файла при использовании узлов "file-in" и "xml"? - PullRequest
0 голосов
/ 06 февраля 2020

Я использую Node-RED для извлечения данных из файла XML. Я использую узел file-in , чтобы построчно прочитать файл и передать вывод узлу xml, чтобы преобразовать его в объект Javascript и передать это функция узел.

enter image description here

Приведенный ниже пример XML, я хотел бы вызвать условие в функция узел, когда встречается </X12>.

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<X12>
  <INTERCHANGE>
    <GROUP>
      <GS-FunctionalGroupHeader>
        <GS01-FunctionalIdentifierCode>GF</GS01-FunctionalIdentifierCode>
        <GS02-ApplicationSendersCode>CARRIERID</GS02-ApplicationSendersCode>
      </GS-FunctionalGroupHeader>
    </GROUP>
    <IEA-InterchangeControlTrailer>
      <IEA01-NumberOfIncludedFunctional>1</IEA01-NumberOfIncludedFunctional>
      <IEA02-InterchangeControlNumber>1504</IEA02-InterchangeControlNumber>
    </IEA-InterchangeControlTrailer>
  </INTERCHANGE>
</X12>

1 Ответ

1 голос
/ 06 февраля 2020

Для узла file-in в сообщение в строке режиме каждый msg объект должен содержать раздел msg.parts. Это включает msg.parts.index, который будет включать номер строки из файла.

msg для последней строки также должен включать msg.parts.count, который будет содержать общее количество строк в файле.

Узел xml ожидает целый документ XML и преобразует его в эквивалентный JSON объект, он не имеет понятия конца файла.

...