J'ai créé mon propre fichier XML sur mon téléphone Android, qui ressemble à ceJava remplacer en fichier XML
<?xml version="1.0" encoding="utf-8" ?>
<backlogs>
<issue id="1">
<backlog id="0" name="Linux" swid="100" />
<backlog id="0" name="Project Management" swid="101" />
</issue>
<issue id="2">
<backlog id="0" name="Tests" swid="110" />
<backlog id="0" name="Online test" swid="111" />
<backlog id="0" name="Test build" swid="112" />
<backlog id="0" name="Update" swid="113" />
</issue>
</backlogs>
J'ai ensuite converti en une chaîne pour remplacer l'intérieur de la chaîne en utilisant des expressions régulières , mais j'ai un problème avec l'expression régulière.
L'expression régulière Je viens de créer se présente comme suit
([\n\r]*)<(.*)issue(.*)1(.*)([\n\r]*)(.*)([\n\r]*)(.*)([\n\r]*)(.*)<(.*)/(.*)issue(.*)
Je dois remplacer la spécifique question-tag (situé à l'ID spécifique) avec une autre question-tag dans une autre chaîne
L'expression régulière fonctionne très bien pour la tag avec ID 1, mais pas avec ID 2 car il y a une autre quantité de tags, mais est-il possible de contourner l'utilisation du montant?
J'espère que vous comprenez ma question
J'ai finalement trouvé une solution pour ma question, qui est
([\n\r]*)<(.*)issue(.*)1[\S\s]*?<(.*)/(.*)issue(.*)
Pour la cinquième fois, ** n'utilisez pas une regex pour travailler avec des langages non-réguliers. ** Utilisez un ** analyseur **. –
Avez-vous pensé à l'analyser dans un objet Document XML en faisant vos changements comme ça à la place en utilisant des regex et des chaînes? –
mmm, peut-être XSLT pourrait vous aider? – ignis