[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