OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimXmlDocument.h
Go to the documentation of this file.
1 //*******************************************************************
2 //
3 // License: See top level LICENSE.txt file.
4 //
5 // Author: Oscar Kramer <okramer@imagelinks.com> (ossim port by D. Burken)
6 //
7 // Description:
8 //
9 // Contains declaration of class ossimXmlDocument. This class provides read-only
10 // parsing and accessing of an XML document file.
11 //
12 //*****************************************************************************
13 // $Id: ossimXmlDocument.h 21579 2012-08-31 14:24:11Z dburken $
14 #ifndef ossimXmlDocument_HEADER
15 #define ossimXmlDocument_HEADER 1
16 
17 #include <ossim/base/ossimObject.h>
20 #include <ossim/base/ossimRefPtr.h>
22 #include <vector>
23 
26 {
27 public:
28  ossimXmlDocument(const ossimFilename& xmlFileName="");
30  virtual ossimObject* dup()const
31  {
32  return new ossimXmlDocument(*this);
33  }
34  virtual ~ossimXmlDocument();
35 
36  bool write(const ossimFilename& file);
37  bool openFile(const ossimFilename& filename);
38  bool read(std::istream& in);
42  void findNodes(const ossimString& xpath,
43  std::vector<ossimRefPtr<ossimXmlNode> >& nodelist) const;
44 
46 
47  void initRoot(ossimRefPtr<ossimXmlNode> node);
48 
49  ossimRefPtr<ossimXmlNode> getRoot();
50  const ossimRefPtr<ossimXmlNode> getRoot()const;
51  ossimRefPtr<ossimXmlNode> removeRoot();
52  void fromKwl(const ossimKeywordlist& kwl);
53  void toKwl(ossimKeywordlist& kwl, const ossimString& prefix = "")const;
54 
55 private:
60  bool readHeader(std::istream& in);
62 };
63 
64 #endif /* #ifndef ossimXmlDocument_HEADER */
#define OSSIMDLLEXPORT
Represents serializable keyword/value map.
virtual ossimObject * dup() const
#define TYPE_DATA
Definition: ossimRtti.h:339
ossimFilename theFilename
ossimString theXmlHeader
ossimRefPtr< ossimXmlNode > theRootNode
std::basic_istream< char > istream
Base class for char input streams.
Definition: ossimIosFwd.h:20
friend OSSIMDLLEXPORT std::ostream & operator<<(std::ostream &out, const ossimErrorStatusInterface &obj)
str write(os2.str().data(), os2.str().size())
std::basic_ostream< char > ostream
Base class for char output streams.
Definition: ossimIosFwd.h:23