核心功能
- 支援 CSV/XML 雙向轉換,具有可配置的分隔符號和編碼
- 具有標頭檢測和自定義列對映能力
- 支援各種字元編碼和特殊字元處理
概覽
端口配置
本節包含所有可配置的端口屬性。設定
配置
與端口 Id 和描述相關的設定。| 設定 | 描述 |
|---|---|
| 端口 Id | 端口的靜態、唯一識別碼。 |
| 端口型別 | 顯示端口型別及其用途的描述。 |
| 端口描述 | 一個可選欄位,用於提供端口及其在流中的角色的自由格式描述。 |
端口設定
與端口核心操作相關的設定。其他設定
未包含在先前類別中的設定。| 設定 | 描述 |
|---|---|
| 本地檔案方案 | 用於為端口輸出的訊息分配檔名的方案。可以在檔名中動態使用宏來包含識別碼和時間戳等資訊。有關更多資訊,請參閱 宏。 |
| 行分隔符號 | 用於表示行結束的字元序列。預設情況下,這由系統決定,但可以使用此設定覆蓋系統行為。使用 CR 或 \r 表示回車符,使用 LF 或 \n 表示換行字元。 |
範例檔案索引標籤
上傳範例檔案可以方便地在任何連線的 CSV Map 或 XML Map 端口中進行對映。
使用 範例檔案 索引標籤生成用於 CSV Map 或 XML Map 端口的源或目標 XML 範本。單擊 新增範例檔案。
- 如果您已有反映資料預期格式和結構的範例檔案,請選擇 檔案上傳 並瀏覽到您的檔案。或者,選擇 手動建立 直接在應用程式中建立檔案。如果您選擇 手動建立,請為範例檔案命名。單擊 下一步。
- 如果您瀏覽到現有檔案,檢視檔案 索引標籤將填充其內容。如果您選擇手動建立檔案,請在此索引標籤上輸入範例資料。單擊 下一步。
- 翻譯和預覽 索引標籤顯示將範例資料轉換為 XML 的預覽。當您對範例滿意時,單擊 新增。
進階頁面 (Advanced Tab)
| 設定 | 描述 |
|---|---|
| 延遲處理 | 放置在交易索引標籤中的檔案的處理被延遲的時間量(以秒為單位)。這是一個遺留設定。最佳實踐是使用 File 端口來管理本地檔案系統,而不是此設定。 |
訊息
訊息設定確定端口如何搜尋訊息並在處理後管理它們。
注意:以下設定已棄用,預設處於隱藏狀態。只有先前已啟用這些設定或將其配置為非預設值的端口才會顯示它們。若要保留成功處理的檔案副本,請在工作流程中右鍵單擊該端口,選擇顯示成功路徑,然後將成功路徑連線到 File 端口。
| 設定 | 描述 |
|---|---|
| 儲存到已傳送資料夾(已棄用) | 將端口處理的檔案複製到 Sent 資料夾。預設停用。儲存到 Sent 資料夾中的檔案不受靜態加密保護。 |
| 已傳送資料夾方案(已棄用) | 按所選時間間隔對 Sent 資料夾中的檔案進行分組。僅在啟用儲存到已傳送資料夾時適用。 |
日誌
用於管理日誌建立和儲存的設定。
| 設定 | 描述 |
|---|---|
| 日誌級別 | 指定要記錄在端口日誌目錄中的資訊型別:
|
| 日誌資料夾結構 | 指示端口根據選定的時間間隔將日誌資料夾中的檔案分組。例如,Weekly 選項指示端口每週建立一個新的子資料夾,並將該周的所有日誌儲存在該資料夾中。空白設定告訴端口將所有日誌直接儲存在日誌資料夾中。對於處理許多交易的端口,使用子資料夾有助於保持日誌的有序性並提高效能。 |
| 保留訊息副本 | 指示端口在日誌目錄中儲存最新訊息副本的切換。請注意,端口每個子資料夾只保留一個訊息,並且端口在再次執行時會覆蓋以前儲存的訊息。 |
其他設定
特殊設定適用於特定用例。
| 設定 | 描述 |
|---|---|
| 其他設定 | 允許在以分號分隔的清單中配置隱藏的端口設定,例如 setting1=value1;setting2=value2。正常的端口用例和功能不需要使用這些設定。 |
自動化頁面 (Automation Tab)
自動化設定
與端口自動處理檔案相關的設定。
| 設定 | 描述 |
|---|---|
| 傳送 (Send) | 到達端口的訊息是否自動進行處理。 |
效能
與端口資源分配相關的設定。
| 設定 | 描述 |
|---|---|
| 最大工作執行緒數 | 此端口上處理檔案時從執行緒池中消耗的最大工作執行緒數。如果設定,則會覆蓋 進階設定 頁面的 效能設定 部分的預設設定。 |
| 最大檔案數 | 分配給端口的每個執行緒傳送的最大檔案數。如果設定,則會覆蓋 進階設定 頁面的 效能設定 部分的預設設定。 |
通知索引標籤
SLA 索引標籤
將 CSV 轉換為 XML
當 CSV 檔案轉換為 XML,得到的 XML 將包含以下結構:Items 的子元素。所有記錄元素的名稱由端口設定中設定的 記錄名稱 選項確定。每個記錄元素都有與輸入檔案每行中的值相對應的子元素。
某些 CSV 檔案包含一行訊息頭資訊,為檔案中的值提供上下文。當啟用 存在列標題 設定時,將解析此標題行,並將解析後的標題用作值元素(記錄元素的子元素)的元素名稱。否則,值元素將被賦予通用名稱,例如 field_0、field_1 等。
將 XML 轉換為 CSV
要將 XML 轉換為 CSV 檔案,輸入 XML 必須具有“平面”結構。這意味著,忽略Items 根元素,XML 結構的深度為 2。例如:
- 根元素的子元素在結果檔案中被視為記錄(行)
- 每個記錄元素的子元素被視為每行中的值
title、year 和 runtime 組成。
列印檢視
CSV 轉換:使用 XML Map 端口
CSV 運算器
除了知行之橋提供的操作之外,端口還可以提供將功能擴充套件到 ArcScript 中的操作。 這些端口操作可以像任何其他 ArcScript 操作一樣呼叫,但有兩個細節除外:- 它們必須透過
connector.rsc端點呼叫。 - 它們必須包含認證權杖。
csvListRecords
迴圈遍歷指定 CSV 檔案或字串中的每條記錄。有關更多詳細資訊,請參閱函式。必需參數
- file: CSV 檔案的路徑。
可選參數
- data: 如果 CSV 資料以字串形式存在,而不是儲存在 CSV 檔案中,請使用此參數代替 file。
- columns: 輸出中要包含的列的逗號分隔清單(如果未指定,將包含所有列)。
- requireheader: 預設情況下,資料的第一行會被解釋為列標題;向此參數傳入 false 時,將使用通用列名(例如 c1、c2、c3)。
輸出
csvListRecords 操作中的任何指令碼都會執行多次:對輸入 CSV 檔案/資料中的每條記錄/行執行一次。在操作中,可以使用 csv 格式化器存取各個 CSV 值。此格式化器將列名作為參數,並輸出當前記錄中該列的值。 例如,假設 CSV 輸入資料包含訂單中購買的一組商品,商品名稱儲存在ItemName 列中。以下指令碼生成 XML,在 Item 元素中包含每個 ItemName 值: