2016-05-19 21 views
0

MapForceを使用して2つのcsvファイルの結合データをXMLにマップしようとしています。CSVファイルとXSDファイルを使用してXMLを作成するにはどうすればよいですか?

これは私の入力です:

XML::

<Pages> 
    <Page Title="PageA"> 
     <Template Name="PageTemplate"> 
      <Field Name="Context">ProjectA</Field> 
      <Field Name="Index">3</Field> 
     </Template> 
     <Template Name="ShowSubpagesTemplate"> 
     </Template> 
     <Template Name="SubpageTemplate"> 
      <Field Name="Subpage">Subpage1</Field> 
      <Field Name="File">1.jpg</Field> 
     </Template>  
     <Template Name="SubpageTemplate"> 
      <Field Name="Subpage">Subpage2</Field> 
      <Field Name="File">2.jpg</Field> 
     </Template>    
    </Page> 
    <Page Title="PageB"> 
     <Template Name="PageTemplate"> 
      <Field Name="Context">ProjectA</Field> 
      <Field Name="Index">5</Field> 
     </Template> 
     <Template Name="ShowSubpagesTemplate"> 
     </Template> 
    </Page> 
    <Page Title="PageC"> 
     <Template Name="PageTemplate"> 
      <Field Name="Context">ProjectB</Field> 
      <Field Name="Index">7</Field> 
     </Template> 
     <Template Name="ShowSubpagesTemplate"> 
     </Template> 
     <Template Name="SubpageTemplate"> 
      <Field Name="Subpage">Subpage3</Field> 
      <Field Name="File">3.jpg</Field> 
     </Template>    
    </Page> 
</Pages> 

XSD

Page;Project;Index 
PageA;ProjectA;3 
PageB;ProjectA;5 
PageC;ProjectB;7 

Subpage;Page;File 
Subpage1;PageA;1.jpg 
Subpage2;PageA;2.jpg 
Subpage3;PageC;3.jpg 

MapForceには、希望の出力の私の例に基づいてXSDを作成:

<?xml version="1.0" encoding="UTF-8"?> 
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> 
    <xs:element name="Pages"> 
     <xs:complexType> 
      <xs:sequence> 
       <xs:element name="Page" maxOccurs="unbounded"> 
        <xs:complexType> 
         <xs:sequence> 
          <xs:element name="Template" maxOccurs="unbounded"> 
           <xs:complexType mixed="true"> 
            <xs:sequence> 
             <xs:element name="Field" minOccurs="0" maxOccurs="unbounded"> 
              <xs:complexType> 
               <xs:simpleContent> 
                <xs:extension base="xs:string"> 
                 <xs:attribute name="Name" use="required" type="xs:string"/> 
                </xs:extension> 
               </xs:simpleContent> 
              </xs:complexType> 
             </xs:element> 
            </xs:sequence> 
            <xs:attribute name="Name" use="required" type="xs:string"/> 
           </xs:complexType> 
          </xs:element> 
         </xs:sequence> 
         <xs:attribute name="Title" use="required" type="xs:string"/> 
        </xs:complexType> 
       </xs:element> 
      </xs:sequence> 
     </xs:complexType> 
    </xs:element> 
</xs:schema> 

このXSDは正しいですか。どのようにデータをマップできますか?私はこれまでのところ、これを持って

Mapping CSV to XML

結果:

<Pages> 
    <Page Title="PageA"> 
     <Template Name="PageTemplate"> 
      <Field Name="ProjectA"/> 
     </Template> 
    </Page> 
    <Page Title="PageB"> 
     <Template> 
      <Field Name="ProjectA"/> 
     </Template> 
    </Page> 
    <Page Title="PageC"> 
     <Template Name="PageTemplate"> 
      <Field Name="ProjectB"/> 
     </Template> 
    </Page> 
</Pages> 

まあ、それはスタートだが、私は必要なXMLを取得する方法を見つけ出すことはできません。

少し助けてもらえますか?

答えて

関連する問題