2010-04-09 5 views
1

J'utilise java et je suis assez ouvert à l'utilisation de DOM w3c ou DOM4J à ce stade. Donc, disons que j'ai un noeud comme un noeud de texte dans lequel j'ai trouvé quelque chose d'intéressant, comme par exemple une occurrence d'une sous-chaîne dans le texte des noeuds. Si je veux obtenir une chaîne avec un nombre de caractères précédant ce noeud et quelques caractères après ce noeud, comment puis-je faire cela? Fondamentalement, je dois être en mesure d'afficher un extrait du fichier XML d'origine autour de l'occurrence de cette chaîne.Comment obtenir un peu de xml qui vient avant et après un noeud DOM

Le problème que j'ai avec l'obtention du nœud parent par exemple, puis en appelant asXML est que je ne connais plus l'emplacement exact de la sous-chaîne dans le nœud de texte. Si je recherche à nouveau cette valeur de chaîne dans le fichier xml des parents, alors je peux trouver 2 occurrences ou plusieurs autres si le parent a d'autres enfants qui contiennent une occurrence de cette chaîne.

Beaucoup d'appréciation si quelqu'un peut répondre à cette question.

Répondre

0

Je n'ai rien fait avec le DOM de Java depuis longtemps, alors prenez ceci comme pseudocode, pas Java.

Fondamentalement, cela se résume à quelque chose comme ceci:

parent = node.getParentNode() 
Node[] children = parent.getChildNodes() 

for (Node child : children) { 
    if (child == node) { 
     // Do something different with the matched node 
    } else { 
     // do something with child 
} 
Questions connexes