使用 XML 與 YAML 而不隱藏資料結構的變更
這個工具可協助您將 XML 元素、文字、重複的子元素與屬性,以可讀的 YAML 形式呈現,或從一個帶有根鍵的 YAML 物件建構 XML。它適用於設定檔審閟、資料饋送診斷、移轉規劃,以及手動編輯的測試資料。請先貼上一小段具代表性的範例,選擇轉換方向,並在使用較大的檔案前,先將可見的結果與來源進行比較。此頁面永遠不會將工作中的資料傳送至 NexaCurrent,因此一般的轉換作業都會保持在當前的瀏覽器分頁內執行。
嘗試使用具有重複書籍元素、語言屬性、標題與價格的目錄根節點。結果區域會顯示轉換後的文件,以及關於 XML 細節的任何警告,因為物件形式的 YAML 文件無法完整重現這些細節。在使用結果之前,請檢閱根元素、重複的子元素、屬性與文字值。如果兩種格式描述資料的方式不同,頁面會明確說明實際的折衷方式,而不是僅僅通知轉換成功。當結果將被提供給其他應用程式時,這個檢閟步驟尤為重要。
選擇方向並提供一個 XML 根節點
當你想要以縮排物件的形式檢視元素、屬性、文字與重複的子節點時,請使用 XML 轉 YAML。當來源只有一個可作為文件根節點的頂層鍵時,請使用 YAML 轉 XML。屬性名稱會以 @_ 前綴顯示,文字節點可能以 #text 呈現,因此當這些標記帶有你所需要的資訊時,請保留它們。
複製可見的結果以便快速檢視,或下載指定的 XML 或 YAML 檔案。轉換器會在產生輸出前驗證來源,並拒絕 YAML 別名、XML 文件類型宣告、格式錯誤的 XML 名稱,以及無法提供單一根節點的 YAML。這些檢查可避免產生看似完整、卻在下一個程式中失敗的結果。
檢視元素、屬性與重複的子節點
在複製轉換後的階層之前,請先閱讀它。確認文件根節點存在、重複的 XML 子節點已成為 YAML 序列、屬性仍使用可見的 @_ 名稱,且文字值未與子元素混淆。物件式 YAML 無法保證完全相同的 XML 註解、CDATA 邊界、處理指令,或混合文字的順序。輸出結果旁的警告會標示這個格式模型差異,而非將其隱藏。
YAML 能表達別名、標籤、註解與純量風格,但這些在 XML 中並沒有簡單的一對一表示方式。本頁面會拒絕別名,僅轉換一般的值結構。XML 輸出同樣需要有效的元素與屬性名稱。若其他系統強制執行結構描述或命名空間政策,請在取代來源之前,使用該系統驗證下載的檔案。
瞭解 XML 與 YAML 無法完全共享之處
XML 屬性、重複元素與文字節點在 YAML 物件表示中會保持可見。Unicode 名稱與值會以文字形式保留。註解、處理指令、CDATA 邊界、命名空間宣告,以及混合文字與子元素的確切順序,可能無法在物件形式的來回轉換中保留下來,因此每當涉及 XML 時,本頁面會顯示檢視警告。
預計用於 XML 的 YAML 文件,應使用一個明確的根鍵,並在其下使用一般的巢狀對應或清單。請重新命名含有空格,或以 XML 不允許的字元開頭的鍵。對於受 XSD、DTD 或廠商結構描述規範的文件,請將此轉換視為可供檢視的草稿,並將結果送至目的端的驗證工具檢查。
限制、錯誤、隱私與實用的最後檢查
空白輸入、格式錯誤的 XML 或 YAML、多個 YAML 根節點、無效的 XML 名稱、過深的巢狀,以及過大的文件,會以可見的訊息停止處理。不接受 YAML 別名與 XML 文件類型宣告。輸入限制是為了防止瀏覽器分頁因意外貼上大量內容而當機;對於非常大或受規範的文件,請使用具備結構描述感知功能的桌面工作流程。
重置會清除輸入、結果、警告與下載內容。在分享轉換後的檔案之前,請在預定的目的端開啟它,並比對根節點、數筆重複記錄、屬性、空元素與多語言文字與來源是否一致。成功的轉換僅能確認這裡所述的規則,並不會確認私有的 XML 結構描述或應用程式的商業規則。