| 127 | } |
| 128 | |
| 129 | void readXML() |
| 130 | { |
| 131 | readProgramVersion(); |
| 132 | |
| 133 | std::map<std::string, std::string> propMap = initMap(); |
| 134 | |
| 135 | if (auto doc = xmlDocument->getDocumentElement(); doc != nullptr) { |
| 136 | auto nodes = doc->getElementsByTagName(XStrLiteral("Properties").unicodeForm()); |
| 137 | // There should only ever be 1 <Properties> node |
| 138 | if (auto node = nodes->item(0); node != nullptr) { |
| 139 | auto elem = static_cast<DOMElement*>(node); // NOLINT |
| 140 | DOMNodeList* propList = elem->getElementsByTagName(XStrLiteral("Property").unicodeForm()); |
| 141 | DOMNode* propNode = nullptr; |
| 142 | XMLSize_t i = 0; |
| 143 | while ((propNode = propList->item(i++)) != nullptr) { |
| 144 | readProperty(propNode, propMap); |
| 145 | } |
| 146 | } |
| 147 | } |
| 148 | |
| 149 | setMetadata(propMap); |
| 150 | } |
| 151 | |
| 152 | private: |
| 153 | void readProgramVersion() |
no test coverage detected