2009-12-16 2 views
5

Ho difficoltà a trovare un modo per estrarre un elenco di tutte le proprietà di un nodo senza sapere come vengono chiamate.Ottenere l'elenco di tutte le proprietà di un nodo utilizzando libxml

sto estrarre singole note proprietà utilizzando:

xmlGetProp(cur, (const xmlChar*)"nodename")

Ma come ottenere un elenco di tutte le proprietà che utilizzano libxml2?

saluti, marius

+1

vorrei consigliare di aggiungere un tag specificando la lingua che si sta utilizzando – Houtman

risposta

12

Basta scorrere l'elenco proprietà del nodo, vale a dire:

xmlNodePtr Node = ...; 
for(xmlAttrPtr attr = Node->properties; NULL != attr; attr = attr->next) 
{ 
    ... do something with attr ... 
    ... the name of the attribute is in attr->name ... 
} 
0

Interessante, non sembra essere un metodo che fa questo (sebbene stranamente c'è funzione xmlFreePropList), ma struttura XmlNode ha un puntatore a una lista delle proprietà (attributi) di il nodo. Probabilmente puoi ottenere un puntatore a quella struttura.