Stiamo utilizzando Jsoup per analizzare, manipolare ed estendere un modello html. Finora tutto funziona bene fino a quando si tratta di singole citazioni utilizzate in combinazione con attributi HTMLJsoup modifica l'output da virgolette singole a virgolette doppie su attributi HTML
<span data-attr='JSON'></span>
Questo frammento di codice HTML viene convertito in
<span data-attr="JSON"></span>
che in conflitto con i dati JSON interno che è specificato come valida con doppi apici solo
{"param" : "value"} //valid
{'param' : 'value'} //invalid
quindi abbiamo bisogno di costringere Jsoup a NON cambiamento quei singoli apici per raddoppiare le virgolette, ma come? Attualmente questo è il nostro codice per analizzare e produrre contenuti html.
pageTemplate = Jsoup.parse(new File(mainTemplateFilePath), "UTF-8");
pageTemplate.outputSettings().escapeMode(Entities.EscapeMode.xhtml);
pageTemplate.outputSettings().charset("UTF-8");
... adding some html
pageTemplate.html(); // will output the double quoted attributes :(
Questo potrebbe essere un bug nell'implementazione di Jsoup. Puoi segnalare (o anche meglio discuterne con gli sviluppatori) su http://jsoup.org/bugs – Vulcan
Non sono sicuro di aver capito qual è il problema qui. Puoi fornire un esempio del tuo output finale e un esempio dell'output che vorresti avere invece? Stai dicendo che stai finendo con '' quando ti aspetti ' '? Se è così, perché non aspettate ''? –
" non è valido, quindi cosa devo fare con quello o mi sbaglio? E sì il modello prima dell'elaborazione è 'data-attr = ''' e con l'aiuto di Jsoup sto aggiungendo Json tra le virgolette singole. Ma una volta eseguito il rendering e il salvataggio del modello risultante ottengo 'data-attr =" {"dati": "valore"} "' ma mi aspetto 'data-attr = '{" dati ":" valore "}'' – MatthiasLaug