Now writes entities to file instead of stdout...

This commit is contained in:
2016-01-11 10:21:22 +01:00
parent ad4e723677
commit 6adc98eea5
2 changed files with 10 additions and 5 deletions
+1 -1
View File
@@ -5,7 +5,7 @@
#include <xercesc/dom/DOM.hpp>
#include <xercesc/util/XMLString.hpp>
#include <xercesc/util/PlatformUtils.hpp>
#include <xercesc/framework/StdOutFormatTarget.hpp>
#include <xercesc/framework/LocalFileFormatTarget.hpp>
#include "Util/XercesString.h"
#include "EntityFile.h"
+9 -4
View File
@@ -24,10 +24,15 @@ void EntityFileWriter::WriteEntity(World* world, EntityID entity)
root->appendChild(childrenElement);
appendEntityChildren(childrenElement, world, entity);
XMLFormatTarget* target = new StdOutFormatTarget();
DOMLSOutput* output = static_cast<DOMImplementationLS*>(m_DOMImplementation)->createLSOutput();
output->setByteStream(target);
m_DOMLSSerializer->write(doc, output);
try {
LocalFileFormatTarget* target = new LocalFileFormatTarget(X(m_FilePath.string()));
DOMLSOutput* output = static_cast<DOMImplementationLS*>(m_DOMImplementation)->createLSOutput();
output->setByteStream(target);
m_DOMLSSerializer->write(doc, output);
delete target;
} catch (const std::runtime_error& e) {
LOG_ERROR("Failed to save \"%s\": %s", m_FilePath.c_str(), e.what());
}
doc->release();
}