2010-01-06 5 views
1

Je travaille sur un projet sous lequel je dois prendre un fichier brut du serveur et le convertir en fichier XML.Conversion d'un fichier brut (données binaires) en fichier XML

Y at-il un outil disponible dans java qui peut m'aider à accomplir cette tâche comme JAXP peut être utilisé pour analyser le document XML?

+5

Cela dépend vraiment de ce qu'est un "fichier brut" dans votre application. –

Répondre

1

Je suppose que vous avez besoin de vos objets pour une utilisation ultérieure, afin de créer MyObject ce sera un peu de haricots que vous chargerez les valeurs forment votre Raw File et vous pouvez écrire ce à someFile.xml

FileOutputStream os = new FileOutputStream("someFile.xml"); 
XMLEncoder encoder = new XMLEncoder(os); 
MyObject p = new MyObject(); 
p.setFirstName("Mite"); 
encoder.writeObject(p); 
encoder.close(); 

Ou vous con aller avec TransformerFactory si vous ne avez pas besoin des objets à utiliser celle-ci.

1

Oui. Cela suppose que le texte dans le fichier brut est déjà XML.

Vous commencez avec le DocumentBuilderFactory pour obtenir un DocumentBuilder, et vous pouvez utiliser la méthode parse() pour transformer un flux d'entrée dans un Document, qui est une représentation XML interne.

Si le fichier brut contient autre chose que du XML, vous devrez l'analyser en quelque sorte (votre propre code ici) et utiliser les éléments que vous trouverez à partir d'un Document vide.

Puis j'utilise généralement un Transformer à partir d'un TransformerFactory pour convertir le Document en texte XML dans un fichier, mais il peut y avoir une manière plus simple.

0

Je pense que si vous essayez de le charger dans un XmlDocument ce sera bien

1

JAXP peut également être utilisé pour créer un nouveau document vide:

Document dom = DocumentBuilderFactory.newInstance() 
             .newDocumentBuilder() 
             .newDocument(); 

Ensuite, vous pouvez utiliser ce document pour créer des éléments et les ajouter au besoin:

Element root = dom.createElement("root"); 
    dom.appendChild(root); 

Mais, comme Jørn noté dans un commentaire à votre question, tout dépend de ce que vous voulez faire avec ce fichier "brut": comment devrait-il être transformé en XML. Et vous seul le savez.