0

Ich habe eine XML, die etwa wie folgt aussieht:Deserialize XML mit HTML-escaped Teil SimpleXML mit

<xml> 
&lt;example&gt;&lt;string&gt;test&lt;/string&gt;&lt;/example&gt; 
</xml> 

Ist es möglich, SimpleXML wiederherstellen dieses HTML-Escape-Zeichen während der Deserialisierung und wie gewohnt zu machen, diese aufzublasen Klassen:

@Root 
public class Xml { 

    @Element 
    public Example example; 
} 

public class Example { 

    @Element 
    public String string; 
} 

Antwort

0

okay, ich glaube, ich habe es

SimpleXML parst entkam Sequenz als @Text, was ich kann u se in constructor injection, und in diesem Konstruktor erstelle ich eine weitere Instanz von Persister, die diese Sequenz liest. Hier ist der Code für das Beispiel in der Frage:

@Root 
public class Xml { 
    @Text 
    String text; 

    public Example example; 

    public Xml(@Text String text) { 
     Serializer serializer = new Persister(); 
     try { 
      example = serializer.read(Example.class, text); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    } 
} 

public class Example { 

    @Element 
    public String string; 
} 

Was interessant ist, ist, dass ich nicht entkommen Zeichen wiederherzustellen, SimpleXML macht das für mich.