Bonjour,

voila, j'essaye de recuperer tout ce qu'il y a en rouge:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<AnalysisConfig version="2">
      <NPV>
        <Entry pricer="NxBackward" source="NPV"/>
        <Entry pricer="NxForward" source="NPV"/>
      </NPV>
      <FinancialReportConfig>
        <AdditionalColumns>
          <AdditionalColumn header="Pair" order="0" sourceType="PRODUCT_FIELD">
            <Entry source="Pair.ShortName"/>
          </AdditionalColumn>
          <AdditionalColumn header="Delta" order="1" sourceType="GREEK">
            <Entry pricer="NxBackward" source="NPV" subSource="Delta"/>
            <Entry pricer="NxForward" source="NPV" subSource="Delta"/>          </AdditionalColumn>
          <AdditionalColumn header="Gamma" order="2" sourceType="GREEK">
            <Entry pricer="NxBackward" source="NPV" subSource="Gamma"/>
            <Entry pricer="NxForward" source="NPV" subSource="Gamma"/>
          </AdditionalColumn>
          <AdditionalColumn header="Vega" order="3" sourceType="GREEK">
            <Entry pricer="NxBackward" source="NPV" subSource="Gamma"/>
            <Entry pricer="NxForward" source="NPV" subSource="Gamma"/>
          </AdditionalColumn>
          <AdditionalColumn header="DomesticBPV" order="4" sourceType="GREEK">
            <Entry pricer="NxBackward" source="NPV"/>
            <Entry pricer="NxForward" source="NPV"/>
          </AdditionalColumn>
          <AdditionalColumn header="ForeignBPV" order="5" sourceType="GREEK">
            <Entry pricer="NxBackward" source="NPV"/>
            <Entry pricer="NxForward" source="NPV"/>
          </AdditionalColumn>
        </AdditionalColumns>
      </FinancialReportConfig>
    </AnalysisConfig>
mais je n'obtiens que ca, a part la premiere ligne verte qui est ok, le reste n'est pas bon, je ne comprends pas pourquoi.
Aidez moi svp?:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<NPV>
<Entry pricer :NxBackward source :NPV /> 
<Entry pricer :NxForward source :NPV /> 
</NPV>
<AdditionalColumns>

<AdditionalColumn header :Pair order :0 sourceType :PRODUCT_FIELD /> 
<Entry pricer :null source :Pair.ShortName subSource :null /> 
<AdditionalColumn header :Delta order :1 sourceType :GREEK /> 
<Entry pricer :null source :Pair.ShortName subSource :null /> 
<AdditionalColumn header :Gamma order :2 sourceType :GREEK /> 
<Entry pricer :null source :Pair.ShortName subSource :null /> 
<AdditionalColumn header :Vega order :3 sourceType :GREEK /> 
<Entry pricer :null source :Pair.ShortName subSource :null /> 
<AdditionalColumn header :DomesticBPV order :4 sourceType :GREEK /> 
<Entry pricer :null source :Pair.ShortName subSource :null /> 
<AdditionalColumn header :ForeignBPV order :5 sourceType :GREEK /> 
<Entry pricer :null source :Pair.ShortName subSource :null /> 
voici mon code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
 
try{//cherche les noeuds FinancialReportConfig
Element frc = courant.getChild("AnalysisConfig").getChild("FinancialReportConfig").getChild("AdditionalColumns");
if(frc == null){}
 
//On constitue une list avec tous les AdditionalColumn
	List listfrc = frc.getChildren("AdditionalColumn");
 
//On effectue la vérification en parcourant notre liste de AdditionalColumns
	Iterator ifrc = listfrc.iterator();
	newstring.append("<AdditionalColumns>\r\n\n");
	while(ifrc.hasNext())
	{
	Element courant2 = (Element)ifrc.next();
	newstring.append("<AdditionalColumn ").
	append ("header :").
	append(courant2.getAttributeValue("header")).
	append(" ").
	append ("order :").
	append(courant2.getAttributeValue("order")).
	append(" ").
	append ("sourceType :").
	append(courant2.getAttributeValue("sourceType")).
	append(" />").
	append(" \r\n");
 
	      try{//cherche les noeuds AdditionalColumns
	      Element ac = courant.getChild("AnalysisConfig").getChild("FinancialReportConfig").getChild("AdditionalColumns").getChild("AdditionalColumn");
	      if(ac == null){}
 
                   //On constitue une list avec tous les Entry
	      List listac = ac.getChildren("Entry");
 
                   //On effectue la vérification en parcourant notre liste de Entry
	       Iterator iac = listac.iterator();
	       while(iac.hasNext())
	              {
	              Element courant3 = (Element)iac.next();
	              newstring.append("<Entry ").
	              append ("pricer :").
	              append(courant3.getAttributeValue("pricer")).
	              append(" ").
	              append ("source :").
	              append(courant3.getAttributeValue("source")).
	              append(" ").
	              append ("subSource :").
	              append(courant3.getAttributeValue("subSource")).
	              append(" />").
	              append(" \r\n");
	               System.out.println(newstring);
                            }	
                     }
	        catch(Exception e){}					
	      }	
	newstring.append(" \r\n</AdditionalColumns>\n").
	append("\n} \r\n");
	}
 
	catch(Exception e){}