- Jövőre jósolják a memóriahiányt, ami egy évtizedig is fennmaradhat?
- Csúcshálózat: ROG STRIX GS-BE18000 router tesztje
- Már szemez az új Call of Duty-val a friss Arc meghajtó
- Nem sok wafer megmunkálásával kezd az Intel 18A, de jövőre ez változik
- Rekordeladásokkal állt talpra a Tesla, küszöbön a „filléres” Model Y
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- Milyen billentyűzetet vegyek?
- Milyen egeret válasszak?
- Vezeték nélküli fülhallgatók
- NVIDIA GeForce RTX 4060 / 4070 S/Ti/TiS (AD104/103)
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Gaming notebook topik
- TCL LCD és LED TV-k
- Milyen videókártyát?
Új hozzászólás Aktív témák
-
Keem1
veterán
Már megint elakadtam
A téma lehet hogy ismerős lesz a korábbi posztjaimból, de azért frissítem az emlékeket.Nagy (több GB-os) XML-ekkel dolgozunk, amit az xmlReader.ReadToFollowing("product") segítségével olvasok végig (így piszok gyors és szinte semmi memóriafogyasztása sincs a DOM-alapú megnyitáshoz képest).
XML struktúra:
<product-export>
<product>
<product>
<product>
</product-export>Amikor egy adott product node-on vagyok, akkor azt az egyet betöltöm egy DOM alapú objektumba, és azzal az eggyel már DOM alapon dolgozom. Így valójában hiába van az XML-ben több tízezer <product> node, mindig csak egyet töltök be DOM-ba és dolgozom vele. Ez eddig beválni látszott, ám úgy tűnik, egy óriási hiba van a gépezetben. Ugyanis onnan kezdve, hogy betöltöm az egy szem node-ot, rögtön szelektálni kezd a program, és kihagy egy csomó product node-ot. Nem jöttem rá, miért, és mi alapján. Van egy kicsi teszt fájlom, 35 node-dal, ebből 17-et lát ezzel a módszerrel. A DOM-részt kihagyva végigszalad mind a 35-ön.
Mutatom:
while (xmlReader.ReadToFollowing("product"))
{
if (xmlReader.Name.Equals("product") && (xmlReader.NodeType == XmlNodeType.Element))
{
// Számláló továbbléptetése
counter++;
Console.WriteLine(counter.ToString() + ". " + xmlReader.Name.ToString());
XmlDocument xmldoc = new XmlDocument();
XmlElement root = xmldoc.CreateElement("product-export");
xmldoc.AppendChild(root);
XmlNode node = xmldoc.ReadNode(xmlReader);A legutolsó kódsornál jelentkezik az anomália (
XmlNode node = xmldoc.ReadNode(xmlReader);
). Ha kikommentezem, ugyan üres lesz a DOM-om, de végigmegy az összes producton. Ezt a számláló utáni kiíratás mutatja.Kimenet, ha kikommentezem az említett részt:
0. product
1. product
2. product
3. product
4. product
5. product
6. product
7. product
8. product
9. product
10. product
11. product
12. product
13. product
14. product
15. product
16. product
17. product
18. product
19. product
20. product
21. product
22. product
23. product
24. product
25. product
26. product
27. product
28. product
29. product
30. product
31. product
32. product
33. product
34. product
35. productÉs ha benne hagyom:
0. product
1. product
2. product
3. product
4. product
5. product
6. product
7. product
8. product
9. product
10. product
11. product
12. product
13. product
14. product
15. product
16. product
17. productMit rontok el?
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- ASUS routerek
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- sh4d0w: Én és a számítógép
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- Milyen billentyűzetet vegyek?
- Vicces képek
- Samsung Galaxy Felhasználók OFF topicja
- Diablo IV
- További aktív témák...
- Segway Ninebot by F2 Plus! D 27% számlával - kiállítási
- Dell latitude 5411 i5-10400H/8gb ddr4/250gb m.2/ töltő ( szépséghibás laptop)
- Eladó Nikon D5300 ajándék FIX 50-es obival (Autofokusz nemműködik)
- PHILIPS 55OLED819/12 Ambilight 4K OLED Smart 144 Hz Gaming TV
- CORSAIR 16GB Vengeance RGB Pro DDR4 4000MHz CL19 KIT CMW16GX4M2K4000C19
- iKing.Hu - Samsung Galaxy S23 Kompakt csúcs, 120 Hz AMOLED, 50 MP Pro kamera 8/256 GB
- HP Omen 80G8E9 - 27" IPS - UHD 4K - 144Hz 1ms - NVIDIA G-Sync - FreeSync - HDR 400 - USB Type-C
- Tablet felvásárlás!! Apple iPad, iPad Mini, iPad Air, iPad Pro
- Fém, összecsukható és kihúzható fotó állvány eladó
- Telefon felvásárlás!! iPhone X/iPhone Xs/iPhone XR/iPhone Xs Max
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest