MCPcopy Create free account
hub / github.com/FreeCAD/FreeCAD / readXML

Method readXML

src/App/ProjectFile.cpp:129–150  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

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
152private:
153 void readProgramVersion()

Callers 1

getMetadataMethod · 0.80

Calls 3

initMapFunction · 0.85
unicodeFormMethod · 0.80
itemMethod · 0.80

Tested by

no test coverage detected