10. februar 2008 - 08:15Der er
18 kommentarer og 1 løsning
Load XML-doc (fil for stor?)
Hej ! Med nedenstående kode kan jeg læse et XML-dokument, der ligger lokalt på min PC. Men så snart dokumenterne bliver bare lidt store sker der intet - og det er som om koden blot bliver sprunget over... ? Hvad kan der være galt? Håber I kan hjælpe!!!
Private Sub Form_Load() Dim objDoc As MSXML2.DOMDocument40 Dim objNodeList As MSXML2.IXMLDOMNodeList Dim objNode As MSXML2.IXMLDOMNode
Set objDoc = New MSXML2.DOMDocument40
objDoc.Load ("C:\VB\WFS.simpel\TEST_fil2.xml")
Set objNodeList = objDoc.selectNodes("ogcwfs_FeatureCollection/gml_featureMember/au1_MAT_REG/au1_JOUR_NR") If Not objNodeList Is Nothing Then 'Loop though each node in the node list For Each objNode In objNodeList MsgBox objNode.Text Next End If
Jeg tror det ikke. Jeg kan sagtens få koden til at steppe gennem en XML-fil med 8-10 noder (50 linier). Men så snart den kommer over en vis størrelse (dog kun 300 KB og ca. 7000 linier) - sker der intet - og der kommer ingen msgbox ???
Hej. Så fandt jeg årsagen!!! Det skyldes ikke størrelsen, men når data bliver tilpas store får jeg pludselig også data med der indeholder et "ø". Så det er nu mit problem. Hvis der er æøå virker min node-reader slet ikke! Hvad gør man så? Ud over at lave søg og erstat?
Det er data jeg henter på nettet, og jeg vil egentlig gerne have ø'et med, så søg/erstat er ikke sagen - så ødelægger jeg data...
Tag den ind i en texteditor. Selv Notesblok til windows kan bruges. Check at der står "ø". Udvid headeren som jeg skrev før, og gem den som ANSI, og så prøv igen. Egentlig er UTF-8 mere generelt, men indtil videre leger vi bare, ik'?
Og du skal nu ikke lave om i filen, du skal læse den ind som iso-8859-1, hvis de altid leverer den sådan, men ikke vil skrive det. VB.NET: Kald load-metoden med en textreader, der læser som iso-8859-1 (jeg har ikke et eksempel).
XML_Data = Replace(XML_Data, "<?xml version=""1.0""?>", "<?xml version=""1.0"" encoding=""iso-8859-1"" ?>") inden jeg skriver til fil på disk. Det ser ud til at virke fint :)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.