使用 "file-in" 和 "xml" 节点时如何检测文件结尾?

How to detect end-of-file when using "file-in" and "xml" nodes?

我正在使用 Node-RED 从 XML 文件中提取数据。我正在使用 file-in 节点逐行读取文件并将输出提供给 xml 节点将其转换为 Javascript 对象并将其传递给 function 节点。

给出下面的示例 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>

对于 每行一条消息 模式的文件输入节点,每个 msg 对象应包含一个 msg.parts 部分。这包括 msg.parts.index,它将包含文件中的行号。

最后一行的 msg 还应包括 msg.parts.count,它将保存文件中的总行数。

xml 节点期望整个 XML 文档并将其转换为等效的 JSON 对象,它没有文件结尾的概念。