[Javalist] XML feldolgozás SAX parserrel newline hogyan?
Péter Böszörményi
zmblevlist at gmail.com
2018. Jan. 4., Cs, 11:49:18 UTC
Megforditom a kerdest. Miert ne XML legyen a formatum?
On 2018-01-04 12:32, Peter Verhas wrote:
> Egyértelműen CDATA.
>
> Garami Gábor megoldása tényleg undorító, és ez volt az utolsó eset.
>
> Amúgy meg miért XML a szerializációs formátum? Az nem egészen világos
> számomra, hogy mit jelent, hogy az XML önellenőrző. Maximum a parser
> ellenőrzi, és schema definiálhatja pluszban az alap szintaktika
> felett. No de schema verzérelt parserek vannak más formátumokhoz is.
> Így hirtelen JSON megy YAML jut eszembe, amik legalább ugyanannyira
> nem felhasználó barátok, mint az XML.
>
> Miért nem húzol fel egy bármilyen, akár PHP alapú open kontent
> menedzsment rendszert és olvasol az adatbázisából?
>
> Péter
>
> On Thu, Jan 4, 2018 at 9:45 AM Péter Böszörményi <zmblevlist at gmail.com
> <mailto:zmblevlist at gmail.com>> wrote:
>
> Meg a sax parser implementacio is erdekes lehet.
>
>
> On 2018-01-04 09:39, Péter Böszörményi wrote:
> > Ossze tudnal dobni egy minimal kodot, + xml-t (+ xsd), ami
> > reprodukalja a problemas mukodest?
> >
> >
> > On 2018-01-04 08:23, zamek wrote:
> >> Szia,
> >>
> >> Koszi, ettol tartottam:(
> >>
> >> On 01/03/2018 08:21 PM, Péter Böszörményi wrote:
> >>>
> >>> Nem lesz nagy segitseg, de ez a kod:
> >>>
> >>> import org.xml.sax.SAXException;
> >>> import org.xml.sax.helpers.DefaultHandler;
> >>>
> >>> import javax.xml.parsers.SAXParser;
> >>> import javax.xml.parsers.SAXParserFactory;
> >>> import java.io.File;
> >>>
> >>> public class XmlSnadboxextends DefaultHandler {
> >>>
> >>> @Override public void characters(char[] ch,int start,int
> >>> length)throws SAXException {
> >>> System.out.println("["+new String(ch, start,
> >>> length)+"]");
> >>> }
> >>>
> >>> public static void main(String[] args)throws Exception {
> >>> System.out.println(System.getProperty("java.version"));
> >>> SAXParserFactory factory =
> >>> SAXParserFactory.newInstance();
> >>> SAXParser parser = factory.newSAXParser();
> >>> System.out.println(parser.getClass());
> >>> parser.parse(new File("a.xml"),new XmlSnadbox());
> >>> }
> >>> }
> >>>
> >>> ezzel az xml-el:
> >>>
> >>> <root>
> >>> <bevezeto>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>
> >>> </root>
> >>> ezt a kimenetet produkalta:
> >>>
> >>> 1.8.0_151
> >>> class com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl
> >>> [
> >>> ]
> >>> [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.]
> >>> [
> >>> ]
> >>> [
> >>> ]
> >>>
> >>> Nekem megorzi a whitespaceket.
> >>>
> >>> On 2018-01-03 19:54, zamek42 wrote:
> >>>> 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?
> >>>>
> >>>
> >>>
> >>>
> >>> _______________________________________________
> >>> Javalist mailing list
> >>> Javalist at lists.javaforum.hu <mailto:Javalist at lists.javaforum.hu>
> >>> http://lists.javaforum.hu/mailman/listinfo/javalist
> >>
> >>
> >
>
> _______________________________________________
> Javalist mailing list
> Javalist at lists.javaforum.hu <mailto:Javalist at lists.javaforum.hu>
> http://lists.javaforum.hu/mailman/listinfo/javalist
>
>
>
> --
> Peter Verhas
> verhas@ skype, fb, google+, twitter, linkedin
> +41 79 154 20 95
> 継続は力なり
>
>
> _______________________________________________
> Javalist mailing list
> Javalist at lists.javaforum.hu
> http://lists.javaforum.hu/mailman/listinfo/javalist
--------- következő rész ---------
Egy csatolt HTML állomány át lett konvertálva...
URL: <http://lists.javaforum.hu/pipermail/javalist/attachments/20180104/b25740df/attachment.html>
További információk a(z) Javalist levelezőlistáról