Support extracting the whole DOM model under given XML element

Ouverte
#417 1 commentaire 23 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
5/5
Temps estimé
Plus d'une semaine
Accessibilité débutants
30/100
Type d'issue
Fonctionnalité
Clarté
Plutôt claire
Activité
Calme
Stack technique
java, xml
Domaine
backend

Piste de recherche

Commencez par examiner le contournement basé sur l’arbre de JsonDeserializer et le chemin XMLMapper.writeValueAsString décrits dans l’issue. Définissez et implémentez la prise en charge de l’extraction de la structure XML brute complète de rawElement, y compris le XML imbriqué, le texte et CDATA, dans un champ POJO sans obliger les appelants à l’analyser de nouveau ; vérifiez le comportement par rapport à la structure d’exemple.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

most-wanted

Let's have a following XML:

<rootElement>
  <firstElement>value</firstElement>
  <rawElement>
    <elemen1>text</element1>
    <element2> ... </lement2>
  </rawElement>
<rootElement>

Support use-case of extracting contents of the whole DOM structure. can be any proper XML, text or CDATA block of unknown structure. The idea is to make it possible to extract such structure and save it rawElement field of your POJO.

Currently (2.11) to achieve it, inside a JsonDeserializer for rawElement you can read tree using json parser, however it's not possible to get XML structure. You can use the JsonNode & put it into XMLMapper.writeValueAsString, still it's a workaround rather than a solution.

According to Tatu from jackson-user:
"it'd be necessary to expose a "native" XML
type, like org.w3c.dom.Node (or Element?).
Currently binding would try to re-parse textual content, but it would
be relatively easy to change that, possibly along
with configuration setting to select new or old approach."

Langage dominant
Java
Étoiles
636
Forks
250
Merge moyen
7 h 10 min
PR mergées (30 j)
8

Préparer son environnement

Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de FasterXML/jackson-dataformat-xml

Toutes les issues de FasterXML/jackson-dataformat-xml

Issues similaires

Plus d'issues Java

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.