XML mentése
Sziasztok!
Van egy olyan problémám, hogy előállítok egy XML oldalt, amit szeretnék fájlba íratni. A folyamat a következő: felhasználó elindít egy oldalt, utána megnyom egy gombot, ami meghív egy másik oldalt, ami már egy az adatbázisból előállított xml-t ad vissza. A visszaadott xml-t pedig szeretném, ha a felhasználó a gépére le tudná menteni.
De jelenleg sajnos ez csak úgy lehetséges, ha a megnyíló XML oldalon Fájl->Mentés másként.. (*.xml) választja a felhasználó.
Az lenne a jó, ha az xml tartalom rögtön Megnyitás/Mentés/Mégse kérdést váltana ki.
A válasz xml (excel-be tölthető):
<?xml version="1.0"?>
<?mso-application progid="Excel.Sheet"?>
.
.
</Worksheet>
</Workbook>
próbálkoztam azzal, hogy a választ betöltöm egy JavaScript objektumba (részlet):
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async="false";
xmlDoc.load("http://domain.hu/sema.csomag.eljaras?p_1=1");
xmlDoc.save("c:\teszt.xml"); //na ez nem működik
ekkor "Engedély megtagadva" hibát kapok a JS futása során (ilyen hibára nem találtam semmilyen leírást).
A kérdés: lehetséges ezt így (vagy hasonlóan) megoldani, vagy marad a "Mentés másként.." ??
Leginkább JavaScript megoldás érdekelne, ha létezik.
(Adatbázis: Oracle10g, web kiszolgáló: Oracle10g PSP azaz PL/SQL Server Pages)
■ Van egy olyan problémám, hogy előállítok egy XML oldalt, amit szeretnék fájlba íratni. A folyamat a következő: felhasználó elindít egy oldalt, utána megnyom egy gombot, ami meghív egy másik oldalt, ami már egy az adatbázisból előállított xml-t ad vissza. A visszaadott xml-t pedig szeretném, ha a felhasználó a gépére le tudná menteni.
De jelenleg sajnos ez csak úgy lehetséges, ha a megnyíló XML oldalon Fájl->Mentés másként.. (*.xml) választja a felhasználó.
Az lenne a jó, ha az xml tartalom rögtön Megnyitás/Mentés/Mégse kérdést váltana ki.
A válasz xml (excel-be tölthető):
<?xml version="1.0"?>
<?mso-application progid="Excel.Sheet"?>
.
.
</Worksheet>
</Workbook>
próbálkoztam azzal, hogy a választ betöltöm egy JavaScript objektumba (részlet):
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async="false";
xmlDoc.load("http://domain.hu/sema.csomag.eljaras?p_1=1");
xmlDoc.save("c:\teszt.xml"); //na ez nem működik
ekkor "Engedély megtagadva" hibát kapok a JS futása során (ilyen hibára nem találtam semmilyen leírást).
A kérdés: lehetséges ezt így (vagy hasonlóan) megoldani, vagy marad a "Mentés másként.." ??
Leginkább JavaScript megoldás érdekelne, ha létezik.
(Adatbázis: Oracle10g, web kiszolgáló: Oracle10g PSP azaz PL/SQL Server Pages)
Content-Type
.bonga
Content-disposition
A válasz:
HTTP-fejléc kiküldése.
És persze ha még a bonga által említett Content-Type-ot is rendesen beállítod, akkor a megnyitásnál a megfelelő alkalmazást fogja elindítani.
BlackY
A Content-Type "text/html".
Kb. ugyanez a helyzet a Content-disposition -nal is.
Jelenleg valami normális leírást keresek a HTP package-hoz, mert eddig csak a htp.print(''); -et használtam, de valószínű, hogy lesz itt más is.
A htp csomaggal kapcsolatban valami építő ötlet? :)
Köszönöm az eddigi ötleteket is, megerősített benne, hogy merre keresgéljek. (Még jöhetnek...)
A megoldás
Megtaláltam a megoldást (az ötletek sokat segítettek).
Mindenki okulására:
Köszönöm a hozzászolásokat!