J'essaie de trouver la meilleure façon de traduire ceci:XML Parsing/Dom Manipulation en Java
<Source><properties>
....
<name>wer</name>
<delay>
<type>Deterministic</type>
<parameters length="1">
<param value="78" type="Time"/>
</parameters>
</delay>
<batchSize>
<type>Cauchy</type>
<parameters length="2">
<param value="23" type="Alpha"/>
<param value="7878" type="Beta"/>
</parameters>
</batchSize>
...
</properties></Source>
en:
<Source><properties>
....
<name>wer</name>
<delay>
<Deterministic Time="78"/>
</delay>
<batchSize>
<Cauchy Alpha="23" Beta="7878"/>
</batchSize>
........
</properties></Source>
J'ai essayé d'utiliser DocumentBuilderFactory, mais je alors que je peut accéder à la valeur de l'étiquette de nom, je ne peux pas accéder aux valeurs dans la section de retard/lot. C'est le code I utilisé
Element prop = (Element)propertyNode;
NodeList nodeIDProperties = prop.getElementsByTagName("name");
Element nameElement = (Element)nodeIDProperties.item(0);
NodeList textFNList = nameElement.getChildNodes();
String nodeNameValue = ((org.w3c.dom.Node)textFNList.item(0)).getNodeValue().trim();
//--------
NodeList delayNode = prop.getElementsByTagName("delay");
Appel getElementByName (« type ») ou « paramètres » ne semble pas retourner tout ce que je peux travailler avec. Ai-je manqué quelque chose, ou y a-t-il une façon plus propre de traiter le xml existant?
Le besoin d'être dans le format défini pour permettre le marshalling et unmarshalling par Castor.
Toute aide serait grandement appréciée.
Ceci est plus de la transformation XML, ne devriez-vous pas utiliser XSLT? – saugata
Je recommanderais fortement d'utiliser XPATH pour faire de l'analyse XML, c'est beaucoup plus logique à mon avis. Voici un excellent tutoriel (http://www.ibm.com/developerworks/library/x-javaxpathapi.html). Pourriez-vous également préciser ce que vous obtenez exactement lorsque vous appelez getElementsByName ("type")? NullPointerExceptions/Chaînes vides? – Luhar
Votre titre est incorrect, vous n'êtes pas en train d'analyser mais de manipuler un arbre DOM. –