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:10] kmioduszewski |
xerces_dom [2008/04/14 23:13] kmioduszewski |
||
---|---|---|---|
Linia 1: | Linia 1: | ||
====== biblioteka dla XML: Xerces (DOM) ===== | ====== biblioteka dla XML: Xerces (DOM) ===== | ||
- | 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. |
\\ | \\ | ||
Biblioteka DOM jest implementacją następujących rekomendacji W3C: | Biblioteka DOM jest implementacją następujących rekomendacji W3C: | ||
Linia 67: | Linia 67: | ||
} | } | ||
</code> | </code> | ||
+ | |||
Linia 99: | Linia 100: | ||
} | } | ||
+ | //sprawdzamy czy nie wystąpiły błędy podczas parsowania | ||
if(parser->getErrorCount()==0) { | if(parser->getErrorCount()==0) { | ||
xercesc::DOMDocument* XMLdoc = parser->getDocument(); | xercesc::DOMDocument* XMLdoc = parser->getDocument(); | ||
Linia 136: | Linia 138: | ||
</code> | </code> | ||
+ | |||
+ | |||
+ | |||
===== DOMDocument, operacje na dokumencie===== | ===== DOMDocument, operacje na dokumencie===== | ||
- | Gdy dokument zostanie sparsowany bez żadnych błędów możemy swobodnie zacząć na nim pracować. | + | Gdy dokument zostanie sparsowany bez żadnych błędów możemy swobodnie zacząć na nim pracować wykorzystując zawarte w rekomendacjach metody. Poniżej kod zawierający przykładowe operacje: |
+ | <code cpp> | ||
+ | //... | ||
+ | |||
+ | xercesc::DOMDocument* XMLdoc = parser->getDocument(); | ||
+ | xercesc::DOMElement* root = XMLdoc->getDocumentElement(); | ||
+ | |||
+ | //pobieramy nazwę elementu głównego | ||
+ | char* rootName = XMLString::transcode(root->getLocalName()); | ||
+ | |||
+ | if(root->hasAttributes()) { | ||
+ | DOMNamedNodeMap* attrMap = root->getAttributes(); | ||
+ | } | ||
+ | |||
+ | |||
+ | </code> |