Różnice między wybraną wersją a wersją aktualną.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
xerces_dom [2008/04/14 22:36] kmioduszewski |
xerces_dom [2008/04/14 23:59] kmioduszewski |
||
---|---|---|---|
Linia 1: | Linia 1: | ||
====== biblioteka dla XML: Xerces (DOM) ===== | ====== biblioteka dla XML: Xerces (DOM) ===== | ||
+ | --- //[[kmioduszewski@polibuda.info|Krzysztof Mioduszewski]] 2008/04/14 23:59// | ||
Xerces-C++ DOM jest częścią Xerces-C++ API zaprojektowanego do współpracy z plikami w formacie XML. API umożliwia parsowania, manipulowanie, walidowanie oraz generowanie poprawnych dokumentów. | Xerces-C++ DOM jest częścią Xerces-C++ API zaprojektowanego do współpracy z plikami w formacie XML. API umożliwia parsowania, manipulowanie, walidowanie oraz generowanie poprawnych dokumentów. | ||
\\ | \\ | ||
Linia 138: | Linia 139: | ||
</code> | </code> | ||
+ | |||
+ | |||
+ | |||
Linia 147: | Linia 151: | ||
<code cpp> | <code cpp> | ||
//... | //... | ||
- | XMLCh* | + | |
xercesc::DOMDocument* XMLdoc = parser->getDocument(); | xercesc::DOMDocument* XMLdoc = parser->getDocument(); | ||
xercesc::DOMElement* root = XMLdoc->getDocumentElement(); | xercesc::DOMElement* root = XMLdoc->getDocumentElement(); | ||
+ | |||
+ | //pobieramy nazwę elementu głównego | ||
+ | char* rootName = XMLString::transcode(root->getLocalName()); | ||
+ | |||
+ | if(root->hasAttributes()) { | ||
+ | xercesc::DOMNamedNodeMap* attrMap = root->getAttributes(); | ||
+ | //iterujemy sobie po atrybutach | ||
+ | for( XMLSize_t i = 0 ; i < attrMap->getLength() ; ++i ) { | ||
+ | DOMAttr* attr = dynamic_cast<DOMAttr*>(attrMap->item(ix)); | ||
+ | //wykorzystujemy sobie atrybut | ||
+ | attr->getName(); //tutaj mamy nazwe | ||
+ | attr->getValue(); //wartosc | ||
+ | //... | ||
+ | } | ||
+ | } | ||
+ | |||
+ | |||
+ | |||
+ | |||
</code> | </code> |