[Javalist] XML feldolgozás SAX parserrel newline hogyan?

zamek zamek at vili.mik.pte.hu
2018. Jan. 4., Cs, 07:25:29 UTC


Szia,

On 01/03/2018 10:30 PM, Gábor Garami wrote:
> Nagyon undorito leszek, de meg ha ki is dobtok a listabol, akkor is
> megkockaztatom:
>
> Pattern p = Pattern.compile("<bevezeto .+?>(.*)<\/bevezeto>",
> Pattern.MULTILINE);
> Matcher m = p.matcher(xmlStr);
> String orig = m.group(1);
> String replaced = orig.replaceAll("\\n", "<br />");
> newXml = xmlStr.replace(orig, replaced);
>
> A kod pszeudokod, es tenyleg undorito. De ez egy legal megoldas lehet,
> ugyanis az XML-ben normalisan nem kotelezo ertelmezni a newline-okat,
> ha az nincs CDATA-ban (ezt elmondtak felettem is). Viszont, ha az
> eloallito oldalon nem szeretnel CDATA-t, akkor az XML forrast
> preprocesszalni kell, hogy XML-konform legyen.
Tenyleg undorito:)
Sajnos a file eleg nagy es ennel sokkal tobb info van benne.

> Garami Gábor
> E-mail: gabor.garami at hron.me
> Tel: +36 20 235 9621
> Skype: hron84
>
>
> 2018-01-03 20:50 GMT+01:00 István Viczián <viczian.istvan at gmail.com>:
>> Szia,
>>
>> Ez nem parser hiba, ha jól emlékszem, xml így értelmezendő. Szerintem
>> ilyenkor CDATA-ba kell tenned, és akkor nem fognak eltűnni a
>> whitespace-ek.
>> --
>> Viczián István
>>
>>
>> zamek42 <zamek42 at gmail.com> írta (2018. január 3. 19:54):
>>> Sziasztok,
>>>
>>> Egy webes sw. vezérlését xml-ből szeretném megvalósítani, mert az
>>> önellenőrző. Az xml-ben a felhasználó szövegeket akar elhelyezni, amelyeket
>>> meg kell jelenítenem.
>>>
>>> Minden szép, de formázni is szeretné a szövegeket. Persze elég newline és
>>> tab karakterekkel, tehát semmi extra. Gondoltam a sax parser majd jól
>>> felolvassa és a textben a newline-okat becserélem <br/>-re a tab-okat meg
>>>  -re és béke. Ami teljességgel érthetetlen, hogy némelyik newline-t
>>> egyszerűen kihagyja a parser! Megnéztem, a felolvasás közben a stringben
>>> _nincs_ benne a newline! A file-ban persze ott van.
>>>
>>> Ilyenek vannak a file-ban:
>>>
>>> <bevezeto xml:space="preserve">Egy számítógépes kísérleti játék veszi
>>> kezdetét a következőkben.
>>>          Játékpartnereid egy másik helyszínen foglalnak helyet, csak
>>> számítógépen és a játékszabályok szerint tudsz érintkezni velük.
>>>          Kérjük, töltsd ki az alábbi adatokat, majd kattints a Start gombra,
>>> hogy elolvasd a játék ismertetőjét és a kezdő instrukciókat.
>>> </bevezeto>
>>>
>>> Az első newline-t szépen behozza, de  a Kérjük előtt akármit csinálok nincs
>>> newline, a pont után rögtön a Kérjük következik.
>>>
>>> Probáltam az xml:space-t is de ezt hibára hozza, az xsd-t én csináltam
>>> hozzá, de a file elején igy próbáltam beállitani:
>>>
>>> <?xml version="1.0" encoding="utf-8" ?>
>>> <trustme xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>>>           xmlns:xml="http://www.w3.org/XML/1998/namespace"
>>>           xsi:noNamespaceSchemaLocation="./trustme.xsd">
>>>
>>> A SaxParser-ről azt írja az Oracle, hogy be lehet állítani a
>>> parser.setPreserveWhiteSpace(true)-val a kezelést
>>> (http://www.oracle.com/technetwork/articles/wang-whitespace-092897.html)
>>>
>>> de a java8-ban kapott SaxParser-nek nincs ilyenje. (SaxParserFactory-bol
>>> newSaxParser-rel állítom elő).
>>>
>>> Hogy kell rábírni a parser-t, hogy hagyja békén a newline-okat a node-ok
>>> szövegeiben?
>>>
>>> --
>>> thx
>>> Zoltan (Zamek) Zidarics
>>> programmer
>>> email:zamek42 at gmail.com
>>> Self Playing Pipe Organ Systems
>>> http://replayorgan.eu
>>>
>>> _______________________________________________
>>> Javalist mailing list
>>> Javalist at lists.javaforum.hu
>>> http://lists.javaforum.hu/mailman/listinfo/javalist
>> _______________________________________________
>> Javalist mailing list
>> Javalist at lists.javaforum.hu
>> http://lists.javaforum.hu/mailman/listinfo/javalist
> _______________________________________________
> Javalist mailing list
> Javalist at lists.javaforum.hu
> http://lists.javaforum.hu/mailman/listinfo/javalist


-- 
  thx,
----------------------------------
Zoltan Zidarics programmer
University of Pecs
H-7621 Pecs, Boszorkany u. 2. Hungary
E-Mail: zamek at vili.mik.pte.hu
----------------------------------



További információk a(z) Javalist levelezőlistáról