Ú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#whitespaceelnevezé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#whitespacenevű é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!
- Apple Watch Series 6 stainless steel GPS + cellular LTE 44mm éjfekete sportszíjjal rozsdamentes
- FÉLÁRON!!! Intel Core i3-13100 4-Core 3.4GHz LGA1700 Processzor
- új Apple Watch Series 9 stainless steel GPS + cellular LTE 41mm éjfekete sportszíjjal rozsdamentes
- újszerű Apple Watch Ultra GPS + Cellular 49 mm-es titántok garancia ajándék extra szíj
- újszerű iPhone 16 Pro 256GB natural titanium natúr titán független Apple garancia
Állásajánlatok
Cég: ATW Internet Kft.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest

