Új hozzászólás Aktív témák
-
Keem1
veterán
Srácok, bizonyára lesz olyan, aki emlékszik rá, hogy nagy xml-ekkel dolgozom.
A korábbi megoldásom az volt, hogy
XmlDocument
+XmlNode
, amíg az XML befért a memóriába. Mostanra sok lett az, ami nem fér be.
Új megoldást találtam ki: alapvetőenXmlReader
(ez a nagy XML), és amelyik node épp kell, azt beolvasom DOM-ba.using (XmlReader xmlReader = XmlReader.Create(docUrl))
{
while (xmlReader.ReadToFollowing("product"))
{
if (xmlReader.Name.Equals("product") && (xmlReader.NodeType == XmlNodeType.Element))
{
XmlDocument xmldoc = new XmlDocument();
XmlElement root = xmldoc.CreateElement("product-export");
xmldoc.AppendChild(root);
XmlNode node = xmldoc.ReadNode(xmlReader);
}
}
}Így elvileg egy node-ot tartok a ramban, mindig amivel épp dolgozom. Működne is a korábbi megoldásom az által, hogy a node nevű aktuális csomópont ugyanúgy megvan, csak eddig DOM-ból foreach-csel körbejárva, így meg mindig csak egy van beolvasva.
Igen ám, viszont előállt egy olyan gond, hogy midegyik node mellé társul egy#whitespace
elnevezésű üres cucc, amit az eddigi kód megpróbál feldolgozni.
Tehát most anode.ChildNodes.Count
= (régi)node.ChildNodes.Count *2
, mivel van egy#whitespace
nevű érvénytelen node-om is.
Ezt hogy tudnám kiszedni? És mitől keletkezett? Így kell elképzelni: [kép]
Ú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!
- exHWSW - Értünk mindenhez IS
- Sony MILC fényképezőgépcsalád
- Lexus, Toyota topik
- Megjött a jubileumi Pixel széria
- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
- Kerékpárosok, bringások ide!
- Kínai és egyéb olcsó órák topikja
- BestBuy topik
- Apple Watch Sport - ez is csak egy okosóra
- Bittorrent topik
- További aktív témák...
- Új Acer Predator 16 WQXGA 165Hz G-Sync i9-13900HX 16GB 1TB Nvidia RTX 4070 8GB 140W Win11 Garancia
- Számítógép, ryzen 5 2600, RX 580 8GB, 16gb ddr4, 512gb ssd, 1tb hdd
- HP EliteBook 850 G8 Fémházas Multimédiás Laptop 15,6" -65% i7-1185G7 16/512 Iris Xe FHD
- Gigabyte GeForce GTX 1660 Ti OC hibátlan, dobozos, 14 nap személyes garanciával
- HP EliteBook 850 G8 Fémházas Multimédiás Laptop 15,6" -65% i7-1185G7 32/512 Iris Xe FHD
Állásajánlatok
Cég: FOTC
Város: Budapest