Hirdetés
- Megjelent az iOS 26.1 és iPadOS 26.1
- Külföldi prepaid SIM-ek itthon
- Google Pixel topik
- Milyen okostelefont vegyek?
- Android alkalmazások - szoftver kibeszélő topik
- Xiaomi 14T Pro - teljes a család?
- Megérkezett a Google Pixel 7 és 7 Pro
- Huawei Watch GT 6 és GT 6 Pro duplateszt
- Xiaomi 15T - reakció nélkül nincs egyensúly
- Bemutatkozott a Poco X7 és X7 Pro
Ú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!
- matrix2012 károsultjainak megbeszélő topikja
- Kormányok / autós szimulátorok topikja
- Megjelent az iOS 26.1 és iPadOS 26.1
- Luck Dragon: Asszociációs játék. :)
- Gamepad
- LED világítás a lakásban
- Okos Otthon / Smart Home
- VR topik (Oculus Rift, stb.)
- A Sony megmutatja milyen monitor illik a PlayStation 5-höz
- Külföldi prepaid SIM-ek itthon
- További aktív témák...
- Újszerű!! Lenovo X1 Carbon GEN6 / i7-8650U / 16GB RAM / 500GB SSD / Magyar v.bill
- Új Prémium vezeték nélküli billentyűzet eladó Magyar (PBT) kupakokkal
- GAMER INTEL I9 9900K/ 32GB DDR4 / RTX 2080Ti / 1TB NVME SSD /
- 27% - NZXT C1200 1200W 80 PLUS Gold Tápegység
- GAMER INTEL I5 12400 / 16GB DDR4 / RTX 3060 12GB / 250GB SSD / 1TB HDD
- 144 - Lenovo LOQ (15ARP9) - AMD Ryzen 7 7435HS, RTX 4060 (ELKELT)
- Apple Watch SE 2gen 40mm, Kártyafüggetlen, 1 Év Garanciával
- AKCIÓ! Apple Macbook Pro 16" 2019 i9 64GB 512GB 5500M macbook garanciával hibátlan működéssel
- ÓRIÁSI AKCIÓK / MICROSOFT WINDOWS 10,11 / OFFICE 16,19,21,24 / VÍRUS,VPN VÉDELEM / SZÁMLA / 0-24
- GYÖNYÖRŰ iPhone 13 256GB Pink -1 ÉV GARANCIA - Kártyafüggetlen, MS3209, 100% Akkumulátor
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest




