Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Petr Nymsa
Tvůrce
Avatar
Petr Nymsa:13.4.2013 14:42

Ahoj, trochu mi dnes neslouží moje hlavička dubová :D, proto píšu :). Řeším jeden program pro převádění různých dat do jiného formátu. Některá data mají (jedná se o XML) url k obrázku. URL vypadá následovně

http://eshop.elkoep.cz/pictureprovider.aspx?z=200&xonly=False&path=c:/abra/web/userdata/images/10976 ABR/10976.JPG

Můžeme si všimnout zápisu

&

což potřebuju dostat pryč. S tím problém není, to je pár řádků. Mám to tedy nahrazené pouze za &, jenže při uložení do nového souboru se to stejně opět přeloží na

&

... kde mám nastavit jakési kódování ? Ukládám to přes DOM do xml.

Editováno 13.4.2013 14:43
Odpovědět
13.4.2013 14:42
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar

Člen
Avatar
Odpovídá na Petr Nymsa
:13.4.2013 15:42

Ja mam dojem, ze kdyz to ukladas do xml, tak tam nesmis mit proste '&' proto ti to zakoduje do

&
 
Nahoru Odpovědět
13.4.2013 15:42
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Petr Nymsa
David Hartinger:13.4.2013 17:37

Do XML se to přeloží dobře, když to z něj pak načteš, měl bys mít zas jen &.

Nahoru Odpovědět
13.4.2013 17:37
New kid back on the block with a R.I.P
Avatar
Petr Nymsa
Tvůrce
Avatar
Odpovídá na David Hartinger
Petr Nymsa:13.4.2013 19:40

To bohužel nemám. Když to načtu mám tam

&

. Odstraním to metodou Replace a nechám zobrazit mm samozřejmě pouze &. Když to zpět uložím mám tam zase

&
Nahoru Odpovědět
13.4.2013 19:40
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Petr Nymsa
David Hartinger:13.4.2013 20:50

Jak tvoříš ten reader? XmlReader.Create() ?

Nahoru Odpovědět
13.4.2013 20:50
New kid back on the block with a R.I.P
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Petr Nymsa
David Hartinger:13.4.2013 20:55

Reader i Writer by měl ty entity řešit úplně za tebe, jakmile něco replacuješ, tak je to špatně. Hlavně si nemůžeš být nikdy jistý že nahradíš vše.

Nahoru Odpovědět
13.4.2013 20:55
New kid back on the block with a R.I.P
Avatar
Petr Nymsa
Tvůrce
Avatar
Odpovídá na David Hartinger
Petr Nymsa:13.4.2013 20:59

dělám to přes DOM tkaže projíždím ChildNodes z RootNode. Asi to zkusím klasicky přes XmlReader.. problém je, že to potřebuju nahradit. Z firmy mi to takto poslali a musím to narhadit aby odkazy fungovali

Nahoru Odpovědět
13.4.2013 20:59
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Petr Nymsa
David Hartinger:13.4.2013 21:02

Ale ony jsou zapsané správně, v tom XML nemůže být &. Musel bych vidět co se chce a co máš zadáno. Každopádně si najdi nastavení entit pro XmlDocument.

Nahoru Odpovědět
13.4.2013 21:02
New kid back on the block with a R.I.P
Avatar
Petr Nymsa
Tvůrce
Avatar
Odpovídá na David Hartinger
Petr Nymsa:13.4.2013 21:21

Mám poslaný XML feed z jedné firmy kde XML struktura je následující

SHOP><SHOPITEM>
<PRODUCT>10976  ABR - bílá   Krabice pro montáž na povrch - bílá</PRODUCT>
<PRODUCTNAME>10976</PRODUCTNAME>
<DESCRIPTION><![CDATA[Krabice por montáž na povrch (použití se žlaby série 10 a série 16)]]></DESCRIPTION>
<URL>http://eshop.elkoep.cz/10976-abr--bila--detail-E2M0000101.aspx</URL>
<IMGURL>
</IMGURL>
<PRICE_VAT>50</PRICE_VAT>
<VAT>21</VAT>
<DELIVERY_DATE>0</DELIVERY_DATE>
<PRODUCTNAMEEXT>  ABR - bílá  </PRODUCTNAMEEXT>
<EAN>5603011065348</EAN>
<PRODUCTNO>10976 ABR</PRODUCTNO>
<ITEM_ID>10976 ABR</ITEM_ID>
<CATEGORYTEXT>LOGUS90  Domovní vypínače a zásuvky/Příslušenství LOGUS90</CATEGORYTEXT>
</SHOPITEM>

Taklhe je těch SHOPITEM" více, jedná se prostě oe-shop s tím žem i poslai výpis takovýto. A když se koukneš na IMGURL tak tam je právě ta neplecha.

Nahoru Odpovědět
13.4.2013 21:21
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Odpovídá na Petr Nymsa
Neaktivní uživatel:14.4.2013 7:32

Nejsem expert přes XML, ale v IMGURL podle mě nic není :D

Editováno 14.4.2013 7:33
Nahoru Odpovědět
14.4.2013 7:32
Neaktivní uživatelský účet
Avatar
paanoik
Člen
Avatar
paanoik:14.4.2013 8:06
  1. Jestli tou firmou je Elko EP, tak bych radil se na to vysrat zavčasu. Je to taková málá česká firma s čínskými mravy. Základnu si vystavěla primárně na neplacení faktur, zaměstnávání dětí a jejich kombinaci.
  2. Říká ti něco escapování?
  3. Můžeš sem pastnout kód, kterej to XML zpracovává? Používám standardní .net nástroje a o tyhle problémy se stará automaticky. Pokud načítáš to xml jako text, budeš si ho holt muset zpracovat jako text se vším všudy.
 
Nahoru Odpovědět
14.4.2013 8:06
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Petr Nymsa
David Hartinger:14.4.2013 8:24

Ty entity ti to prostě musí převést samo po načtení. Pokud to nefunguje, může být špatně zapsaná hlavička toho XML nebo špatně nastavený XmlDocument.

Nahoru Odpovědět
14.4.2013 8:24
New kid back on the block with a R.I.P
Avatar
Petr Nymsa
Tvůrce
Avatar
Odpovídá na Neaktivní uživatel
Petr Nymsa:14.4.2013 10:08

Je tam ,pouze jsem to špatně zkopíroval ..

Nahoru Odpovědět
14.4.2013 10:08
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Petr Nymsa
Tvůrce
Avatar
Odpovídá na David Hartinger
Petr Nymsa:14.4.2013 15:21

Je možné aby přes DOM mi to prostě načte

&amp;

? Když to čtu přes XmlReader tak se načte jak má, tedy jenom &

Nahoru Odpovědět
14.4.2013 15:21
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
paanoik
Člen
Avatar
paanoik:14.4.2013 16:22

Protože DOM je vlastně "obecný" model, XmlReader nebo XmlSerializer pak už pracují s konkrétními standardy.

 
Nahoru Odpovědět
14.4.2013 16:22
Avatar
Petr Nymsa
Tvůrce
Avatar
Petr Nymsa:14.4.2013 19:32

Nechci zakládat nové vlákno tak se ptám tady. Nemůžu nějak přijít na to jak kloudně načíst téměř jakékoliv XML bez toho aniž bych věděl co tam je. Tj zjistit si vždy elemt kteýr obaluje další elementy. Větišnou to je elemnt SHOPITEM a tne obsahuje další elemnty (productname,id,pri­ce,...) jenže ne vždy mají stejný název. Souvisí můj problém hlavně s těmi entitami. Lze aby DOM ty entity načetl správně ? Abych měl tedy opravdu &, "", .... místo

&amp; //apod

Přes DOM mi načtení jde mnohem snadnějí (logicky), přes SAX se patlám s rozpoznáváním nadřazených apod... asi na to jdu úplně špatně. Nějaké popíchnutí kudy ? :D Díky moc :)

Nahoru Odpovědět
14.4.2013 19:32
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Petr Nymsa
Tvůrce
Avatar
Odpovídá na Petr Nymsa
Petr Nymsa:14.4.2013 19:41

Dobrý, když je někdo blbej a sedí u toho celej den :` .. dotaz ignorujte :D nebudu ho mazat , ať se poťukáte na čelo :)

Nahoru Odpovědět
14.4.2013 19:41
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
paanoik
Člen
Avatar
paanoik:14.4.2013 19:56

tak entity jsme imo už vyřešili ..

Jelikož stejně musíš převést ta data každé položky do nějakého pole, pravděpodobně máš rovnou udělanou třídu pro lepší orientaci. Pak už jen stačí vhodně nastavit tagy v dané třídě a to xml předhodit serializeru ke zpracování. Ručně parsovat XML, v dnešní době?!

 
Nahoru Odpovědět
14.4.2013 19:56
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 18 zpráv z 18.