2013-11-15 67 views
1

我有兩個類似的命名xml文件。一個在本地目錄中,另一個在url上。 我需要一個合併這兩個文件的進程,並將本地文件和外部文件都更新爲合併版本。 原因是我們大約有10個用戶想要爲增加「數據庫」做貢獻,並利用我們朋友的作品。 我們運行相同的軟件(飛行模擬),當我們存儲路線時,它們被本地存儲在目錄c:/ prosim737 /中的companyroutes.xml中。這對所有用戶都是一樣的。 我們的外部文件放在我們的服務器上:www.ourserver.org/cr/companyroutes_net.xml。外部文件上的名稱已被更改,添加_net,以保留名稱appart在我的testscripts中。XSL合併兩個xml文件並更新兩個

你幫助了一個xsl文件,該文件將該文件翻譯成html表格。通過這種方式,我們可以在任何給定的時間以列表形式查看最終路線。非常有用。

現在我需要幫助,使自動過程合併和更新本地和外部的兩個文件。

示例XML外部文件:

<?xml version="1.0" encoding="utf-8"?> 
    <?xml-stylesheet type="text/xsl" href="cr.xsl"?> 
    <companyroutes> 
     <route name="ENBRENGM">ENBR GITRO L24 ADOPI ENGM</route> 
     <route name="ENGMENKB">ENGM EVTOG L997 OSVIG P615 INLAS ENKB</route> 
     <route name="ENGMENBR">ENGM ATLAP N623 PIRAG ENBR</route> 
     <route name="EHAMEGLL">EHAM GORLO L980 LOGAN EGLL</route> 
    </companyroutes> 

示例XML本地文件:

<?xml version="1.0" encoding="utf-8"?> 
<companyroutes> 
    <route name="ENGMEKCH">ENGM OKSAT L996 SVD EKCH</route> 
    <route name="ENVAENBR">ENVA GEVLI Z108 ROXET ENBR</route> 
    <route name="EKCHENGM">EKCH VEDAR L997 LUNIP ENGM</route> 
    <route name="EKCHEHAM">EKCH LANGO P999 EEL UP603 BEDUM EHAM</route> 
    </companyroutes> 

實施例的結果:

<?xml version="1.0" encoding="utf-8"?> 
<companyroutes> 
    <route name="ENGMEKCH">ENGM OKSAT L996 SVD EKCH</route> 
    <route name="ENVAENBR">ENVA GEVLI Z108 ROXET ENBR</route> 
    <route name="EKCHENGM">EKCH VEDAR L997 LUNIP ENGM</route> 
    <route name="EKCHEHAM">EKCH LANGO P999 EEL UP603 BEDUM EHAM</route> 
    <route name="ENBRENGM">ENBR GITRO L24 ADOPI ENGM</route> 
    <route name="ENGMENKB">ENGM EVTOG L997 OSVIG P615 INLAS ENKB</route> 
    <route name="ENGMENBR">ENGM ATLAP N623 PIRAG ENBR</route> 
    <route name="EHAMEGLL">EHAM GORLO L980 LOGAN EGLL</route> 
    </companyroutes> 

和用於外部副本:

<?xml version="1.0" encoding="utf-8"?> 
<?xml-stylesheet type="text/xsl" href="cr.xsl"?> 
    <companyroutes> 
     <route name="ENGMEKCH">ENGM OKSAT L996 SVD EKCH</route> 
     <route name="ENVAENBR">ENVA GEVLI Z108 ROXET ENBR</route> 
     <route name="EKCHENGM">EKCH VEDAR L997 LUNIP ENGM</route> 
     <route name="EKCHEHAM">EKCH LANGO P999 EEL UP603 BEDUM EHAM</route> 
     <route name="ENBRENGM">ENBR GITRO L24 ADOPI ENGM</route> 
     <route name="ENGMENKB">ENGM EVTOG L997 OSVIG P615 INLAS ENKB</route> 
     <route name="ENGMENBR">ENGM ATLAP N623 PIRAG ENBR</route> 
     <route name="EHAMEGLL">EHAM GORLO L980 LOGAN EGLL</route> 
     </companyroutes> 

任何幫助太多apprechiated!

回答

0

既然你沒有表現出努力來解決問題,我只會給你一個提示。

這可以通過XSLT的document()函數完成。例如,像這樣從XML文件「external.xml」中檢索內容:

<xsl:value-of select="document('external.xml')/companyroutes/route[@name='ENGMEKCH']"/>