2010-02-05 161 views
0

我們遇到了一個問題,即我們的XML提要離開了我們的系統,客戶端需要能夠將此提要導入到他們的系統中,但他們要求XML文件採用不同的格式。由於多種原因,我們兩個人都不可能改變我們的格式。我當時在想,我們建立某種橋樑是有道理的,它會導入我們的格式並將它們輸出到他們的橋樑中。顯然,當我們知道每個位置的格式時,這非常簡單。我想要做的是建立一個更通用的,不太專用的客戶端,這樣這個橋可以被許多人使用,如果他們需要的話。我應該看什麼來實現這一目標?我可以想到許多方法,例如包含佔位符元素的模板文檔和某種映射數據形式(以XML或DB的形式),但在我看來應該有一個更優雅的解決方案 - 可能就像PHP XSL extension。我們主要在PHP中工作,所以基於PHP的解決方案將是理想的,但我很樂意考慮任何可以在Linux上運行的任何東西。轉換XML格式

回答

2

是的,XSLT在將一種XML格式轉換爲另一種XML格式時相當有效,因此是「T」。我以前用它取得了巨大的成功。

+0

你知道這個在行動中的任何好例子嗎? – robjmills 2010-02-05 15:23:50

+0

沒什麼我可以指出的,但它們都以相同的方式工作:加載源代碼,加載樣式表,將樣式表應用於源代碼,保存結果。 – 2010-02-05 15:26:13

3

就您的問題的「轉型」部分而言,是的,XSLT是一種合理的方法。

但是,只要「可以被許多人使用,如果他們需要它」這個問題的一部分,就不要試圖建立一個基於單個示例的通用系統。當你有三個或四個客戶爲你轉換你的XML時,那麼就應該找出他們都有什麼共同之處。

+0

我同意建立通用地圖的願望。如果你現在嘗試建立它,當其他客戶登上時將是錯誤的,因爲無法預測他們的需求。 – QSmienk 2010-02-05 19:04:05