Toon posts:

[C++/Xerces] Content XML element uitlezen *

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb het volgende probleem

ik roep dit stukje code aan op een xmldoc

C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include "basicparser.hpp"
#include "xmltools.hpp"
//xerces
#include <xercesc/dom/DOMElement.hpp>
#include <xercesc/dom/DOMNodeList.hpp>
#include <xercesc/dom/DOMText.hpp>
#include <xercesc/dom/DOMTreeWalker.hpp>
//class DOMElement;
XERCES_CPP_NAMESPACE_USE

Str* BasicParser::parse()
{
DOMElement* domel = (DOMElement*)_xmldoc->getFirstChild();

DOMNodeList* domnl2 = domel->getChildNodes(); 
int i = (int)domnl2->getLength();
for(int j=0;j<i;j++)
    {
    cerr<<domnl2->item(j)->getNodeType();
    try
    {
    if(domnl2->item(j)->getNodeType()==1)
    {
    cerr<<transcodeToASCII(((DOMElement* )domnl2->item(j))->getTagName ())<<endl;
    DOMNode* child = domnl2->item(j)->getFirstChild();
    cerr<<child->getNodeType()<<endl;

    if(child->getNodeType()==3)
    {
    cerr<<"type=3";
    DOMText* dtext = (DOMText*)child;
    //cerr<<transcodeToASCII(dtext->getWholeText());
    }
    }

    }
    catch (...)
    {
    cerr<<"ERROR";
    }
    }

return 0;
}


dit is het xmldoc dat ik gebruik voor het moment

code:
1
2
3
4
5
<?xml version="1.0" encoding="UTF-8"?>
<pizza korst="hard" pikant="ja">
  <tata>veel kaas</tata>
  <beleg>tty</beleg>
</pizza>


Dit gaat goed zolang ik dus niet aan de DOMText vraag naar de wholetext (code in commentaar),
als ik dat doe crashed de applicatie

Iemand enig idee aan wat dit kan liggen

  • whoami
  • Registratie: December 2000
  • Laatst online: 22:54
Voor de n-de keer:
Lees even de P&W Quickstart en kom met meer info over de brug.
Heb je al zelf iets geprobeerd?
Aan wat kan het liggen volgens jou?
Wat is 'crashen'
etc....

https://fgheysels.github.io/


Verwijderd

Topicstarter
Ik heb al geprobeerd om alle mogelijk variabelen aan te spreken vanuit de DOMText, de getNodeType werkt totaal niet,
en met crashen bedoel ik dat de applicatie er volledig met stopt.

is er misschien een manier om te weten te komen om welke exceptie het juist gaat, want met try{}catch(...){} kan ik de fout wel catchen

nu ben ik in de source code van xerces gaan kijken en blijkt dat er altijd een exceptie gethrowed wordt, onmiddellijk bij het aanroepen van de functie,
is er misschien een andere manier om de content van een tag op te vragen?

modbreak: er zit een EDITKNOP rechtsbovenin je post zodat je niet 3 keer binnen een uur jezelf hoeft te kicken. dit is de laatste keer dat ik het voor je samenvoeg

[ Voor 62% gewijzigd door curry684 op 30-09-2003 21:23 ]


  • MisterData
  • Registratie: September 2001
  • Laatst online: 20:35
debugger misschien even starten?

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

Verwijderd schreef op 30 september 2003 @ 16:59:
Ik heb al geprobeerd om alle mogelijk variabelen aan te spreken vanuit de DOMText, de getNodeType werkt totaal niet, en met crashen bedoel ik dat de applicatie er volledig met stopt.
En je bedoelt vast en zeker dat de debugger niet meldt "Unhandled exception of type 'SomeException'?
nu ben ik in de source code van xerces gaan kijken en blijkt dat er altijd een exceptie gethrowed wordt, onmiddellijk bij het aanroepen van de functie,
is er misschien een andere manier om de content van een tag op te vragen?
a) dit lijkt me onzin, paste die code eens
b) dan zie je dus wat voor type exception hij gooit
c) lees de docs eens voor een alternatieve functie? staat vast ook uitgelegd wat voor exception die functie gooit

Professionele website nodig?


Verwijderd

Topicstarter
probleem opgelost
getData() methode gebruikt ipv getWholeText()

bedankt voor alle adviezen
Pagina: 1