1

ML Gradle Export to File 不提供在单个 XML 有效负载中导出标头和正文的方法

我尝试使用以下方法导出正文,

gradle mlExportToFile -PwhereUriPattern=*.xml -PexportPath=c:\export\export.xml -PfileHeader="<results>" -PfileFooter="</results>"

上面的 export gradle export 语句让我得到以下结果,

<results>
 <customer id="1">
 .
 .
 </customer>
 <customer id="2">
 .
 .
 </customer>
</results>

但是,我希望输出是,

<results>
  **<TransactionRequestDt>2019-15-02T13:22:01</TransactionRequestDt>
  <VersionCd>1.0</VersionCd>
  <RequestorSystemCd>05</RequestorSystemCd>**
 <body>
     <customer id="1">
     .
     .
     </customer>
     <customer id="2">
     .
     .
     </customer>
  <body>
</results>

TransactionRequestDt、VersionCd 和 RequestorSystemCd 来自不同的文档结构。有没有办法在使用 gradle export task 导出时合并结果?

4

1 回答 1

1

https://github.com/marklogic-community/ml-gradle/wiki/Exporting-data#exporting-data-to-a-file的文档中所述,mlExportToFile 获取查询返回的所有文档并将它们写入单个文件,您可以包含可选的页眉和/或页脚。它使用数据移动 SDK - http://docs.marklogic.com/guide/java/data-movement - 来做到这一点。

根据您的期望,您似乎想要查询其他数据并将其写入文档顶部附近。您需要使用 DMSDK 编写自己的导出代码来执行此操作。类似于 - 将根元素写入文件;查询您列出的 3 个元素并将它们写入文件;将“body”标签写入文件;然后使用带有 ExportToWriterListener 的 DMSDK 将查询返回的每个文档写入文件;然后编写结束的“body”和“results”标签。

于 2019-08-15T12:29:59.193 回答