[Javalist] XML formátum probléma

Keresztes Jozsef jkeresztes at vati.hu
2012. Feb. 7., K, 15:53:21 CET


Köszi a leírást.
Én is úgy gondoltam hogy szabványos amit előállítok 1.4-gyel,
a túloldal (NAV ÁNYK program, ismerős ?) nem eszi meg az előállított XML-emet :(

-----Original Message-----
From: Viczián István [mailto:viczian.istvan at gmail.com] 
Sent: Tuesday, February 07, 2012 3:48 PM
To: Java lista
Subject: Re: [Javalist] XML formátum probléma

Üdv,

XML szabvány:

http://www.w3.org/TR/2008/REC-xml-20081126/#sec-white-space
http://www.w3.org/TR/2008/REC-xml-20081126/#sec-common-syn

Ez annyit tesz, hogy nem signifikáns helyeken (nem element content)
annyi whitespace-t pakolsz amennyit akarsz, valamint a single és
double quote ekvivalens.

Ergó, a másik oldal a hibás, aki nem olvassa ezt be, mert amit te
kigenerálsz, az az XML szabványnak megfelel. Tudom, ez téged nem
boldogít, szóval a definíció kikapcsolása remek megoldás. :)

--
Viczián István



2012/2/7 Böszörményi Péter <zmblevlist at gmail.com>:
> Erdekes. Ha felolvasom az xml-t es abban van xml deklaracio spacekkel
> telepakolva, az eredmeny xmlben jo az xml deklaracio.
> Ha felolvasom az xml-t es es abban nincs xml deklaracio, akkor az
> eredmenyben van, es jo az xml deklaracio.
> Ha kezzel epitem fel a dom fat, es azt tolom ki, akkor az eredmenyben van,
> es jo az xml deklaracio.
>
> Tehat: a kimenetbe mindig kerul xml deklaracio, es az mindig jo nalam. Java
> verzio: 1.4.2_19
>
>
>
> On Tue, 07 Feb 2012 14:17:34 +0100, Keresztes Jozsef <jkeresztes at vati.hu>
> wrote:
>
>> Így már működik viszont ha az xml definíciós sort meghagyom akkor ugyanúgy
>> ott a space és a szimpla aposztróf...
>> Szerintem a megoldás az lesz amit előszőr javasoltál, az xml def. sort nem
>> engedem beletenni az xml fájlba.
>>
>> -----Original Message-----
>> From: Böszörményi Péter [mailto:zmblevlist at gmail.com]
>> Sent: Tuesday, February 07, 2012 2:04 PM
>> To: Java lista
>> Subject: Re: [Javalist] XML formátum probléma
>>
>> Azert nem tudsz hozzafuzni elemet, mert csak egy root node lehet az
>> xml-ben. doc.getFirstChild().appendChild(element); segitsegevel probald meg.
>>
>> On Tue, 07 Feb 2012 13:59:59 +0100, Keresztes Jozsef <jkeresztes at vati.hu>
>> wrote:
>>
>>>
>>> Ha ezt alkalmazom, amit írtál:
>>>
>>> Document doc =
>>> DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(new
>>> File("a.xml"));
>>>
>>> akkor nem tudok a doc-hoz elemet adni:
>>> Element foElem = doc.createElement("nyomtatvanyok");
>>> doc.appendChild(foElem);
>>>
>>> az utolsó sor (ami eddig tökéletes volt) ezt a hibát adja:
>>> oracle.xml.parser.v2.XMLDOMException: document node can have only one
>>> element node as child
>>>
>>> Kérdés hogy te hogy adsz elemet az így létrehozott dokumentumhoz ?
>>>
>>>
>>> -----Original Message-----
>>> From: Böszörményi Péter [mailto:zmblevlist at gmail.com]
>>> Sent: Tuesday, February 07, 2012 1:46 PM
>>> To: Java lista
>>> Subject: Re: [Javalist] XML formátum probléma
>>>
>>> Fol raktam egy 1.4.2_19-et, nekem ott is jo. A kodom igy nez ki:
>>>                Document doc =
>>> DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(new
>>> File("a.xml"));
>>>
>>>                TransformerFactory transformerFactory =
>>> TransformerFactory.newInstance();
>>>                Transformer transformer =
>>> transformerFactory.newTransformer();
>>>
>>>                DOMSource source = new DOMSource(doc);
>>>                StreamResult result = new StreamResult(new File("b.xml"));
>>>                transformer.transform(source, result);
>>>
>>> Az a.xml:
>>> <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
>>> <alma>
>>>        <x>s</x>
>>> </alma>
>>>
>>> On Tue, 07 Feb 2012 13:31:42 +0100, Keresztes Jozsef <jkeresztes at vati.hu>
>>> wrote:
>>>
>>>> Itt meg a java verzió 1.4-es. Ez is lehet ám probléma.
>>>> No ez nem azt jelenti hogy mindenütt 1.4-es (mi is haladunk a korral),
>>>> de ennél a projektnél 1.4 és az is marad bizonyos okokból.
>>>>
>>>> -----Original Message-----
>>>> From: Böszörményi Péter [mailto:zmblevlist at gmail.com]
>>>> Sent: Tuesday, February 07, 2012 1:28 PM
>>>> To: Java lista
>>>> Subject: Re: [Javalist] XML formátum probléma
>>>>
>>>> Ooopsz, elneztem. Az altalad irt kod nalam jol formazza. Java: 1.7.01
>>>>
>>>> On Tue, 07 Feb 2012 13:17:10 +0100, Keresztes Jozsef
>>>> <jkeresztes at vati.hu> wrote:
>>>>
>>>>> Ezzel eltűnt az xml fejéból a "hibás" sor.
>>>>> Érdekes megoldás, ráadásul így beolvassa a másik program...
>>>>> Nem tudom, nekem így elég furcsa az xml...
>>>>>
>>>>> -----Original Message-----
>>>>> From: Böszörményi Péter [mailto:zmblevlist at gmail.com]
>>>>> Sent: Tuesday, February 07, 2012 1:10 PM
>>>>> To: Java lista
>>>>> Subject: Re: [Javalist] XML formátum probléma
>>>>>
>>>>> Ez kell neked szerintem:
>>>>> transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
>>>>>
>>>>> On Tue, 07 Feb 2012 13:05:59 +0100, Keresztes Jozsef
>>>>> <jkeresztes at vati.hu> wrote:
>>>>>
>>>>>> Sziasztok !
>>>>>>
>>>>>> XML készítéssel van problémám. Amikor előállítom egy fájlban így néz
>>>>>> ki az első sora:
>>>>>>
>>>>>> <?xml version = '1.0' encoding = 'UTF-8'?>
>>>>>>
>>>>>> Ez még nem is lenne probléma, de van egy másik program aminek ezt be
>>>>>> kéne olvasni,
>>>>>> és az a baj vele hogy az encoding után van benne space, majd az
>>>>>> egyenlőségjel után is
>>>>>> van benne space. Ha ezt a 2 space-t kitörlöm akkor be tudja a program
>>>>>> olvasni, különben nem.
>>>>>> A kérdésem az lenne hogy lehet az XML-t úgy formázni hogy ne
>>>>>> kerüljenek bele ezek a space-ek ?
>>>>>> Már gyártottam régebben is xml-eket, nem volt ilyen gondom, valami
>>>>>> környezeti dolog lehet
>>>>>> ami beleszól, de nem tudom mi. Az is érdekes ha megnézitek hogy nem
>>>>>> idézőjelek között van az
>>>>>> információ, hanem aposztrófok között. Ezt sem értem miért van.
>>>>>> Amúgy ezzel állítom elő az xml-t, ezt is néztem már a neten hogy
>>>>>> lehetne másképp:
>>>>>>
>>>>>> TransformerFactory transformerFactory =
>>>>>> TransformerFactory.newInstance();
>>>>>> Transformer transformer = transformerFactory.newTransformer();
>>>>>> DOMSource source = new DOMSource(doc);
>>>>>> StreamResult result = new StreamResult(new
>>>>>> File("...\\EPBEJ_GEN.xml"));
>>>>>> Transformer.transform(source, result);
>>>>>>
>>>>>> Köszönöm ha van ötletetek.
>>>>>>
>>>>>> Joe
>>>>>>
>>>>>> _______________________________________________
>>>>>> Javalist mailing list
>>>>>> Javalist at lists.javaforum.hu
>>>>>> http://lists.javaforum.hu/mailman/listinfo/javalist
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>
>
> --
> Üdvözlettel,
> Böszörményi Péter
> _______________________________________________
> 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



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