2014-01-07 103 views
0

尋找簡單的方法來解析字符串列表(或2d數組[string1,string2]) 其中字符串1是名稱,字符串2是內容。使用XML Schema將列表<String>解析爲XML

結果應該是一個.xml文件,其中只包含字符串2的數據,填充在xml模式名稱與string1相同的所有位置。

<xs:include schemaLocation="common.xsd"/> 

<xs:complexType name="part1Type"> 
    <xs:all> 
     <xs:element name="noteCadre1" type="string5000Type" minOccurs="0"/> 
     <xs:element name="noteCadre2" type="string5000Type" minOccurs="0"/> 
     <xs:element name="noteCadre3" type="string5000Type" minOccurs="0"/> 
     <xs:element name="noteCadre4" type="string5000Type" minOccurs="0"/> 
     <xs:element name="noteCadre5" type="string5000Type" minOccurs="0"/> 
     <xs:element name="noteCadre6" type="string5000Type" minOccurs="0"/> 
     <xs:element name="noteCadre7" type="string5000Type" minOccurs="0"/> 
     <xs:element name="noteCadre8" type="string5000Type" minOccurs="0"/> 
     <xs:element name="noteCadre9" type="string5000Type" minOccurs="0"/> 
     <xs:element name="noteCadre10" type="string5000Type" minOccurs="0"/> 
     <xs:element name="noteCadre11" type="string5000Type" minOccurs="0"/> 
     <xs:element name="noteCadre12" type="string5000Type" minOccurs="0"/> 


     <xs:element name="infoResidence" type="home2Type" minOccurs="0"/> 

<xs:complexType name="homeType"> 
    <xs:sequence> 
     <xs:element name="lieu" type="string150Type"/> 
     <xs:element name="dateDebut" type="xs:date" minOccurs="0"/> 
     <xs:element name="dateFin" type="xs:date" minOccurs="0"/> 
    </xs:sequence> 
</xs:complexType> 

<xs:complexType name="home2Type"> 
    <xs:sequence> 
     <xs:element name="item" type="homeType" maxOccurs="2"/> 
    </xs:sequence> 
</xs:complexType> 

List<String>看起來像這樣:

說明1:{noteCadre1,noteCadre2,...,infoResidence.lieu.1,infoResidence.dateDebut.1, infoResidence.dateFin.1,infoResidence .lieu.2,infoResidence.dateDebut.2,...

列表2:{dataCadre1,dataCadre2,...,Street 100,01/01/20005,25/03/2005 .... 。}

任何幫助,將不勝感激;在沒有任何成功的情況下瀏覽網頁幾天..

回答

1

您不能僅使用XML架構來實現這一點:XML架構關於驗證XML文檔而不是解析。

要做到這樣的事情,您需要添加第一步,將輸入文檔(字符串列表)轉換爲您的目標XML表示形式。

這似乎很容易實現使用任何編程語言(包括XSLT 2.0),但這顯然超出了XML模式語言的範圍。

+0

經我的同事證實;我會將此標記爲正確的答案。謝謝你的回覆。不幸的是,像往常一樣,我想採取太大的捷徑來完成所需的工作...... – NoxBene