diff options
Diffstat (limited to 'src/function/read_xml_file.cc')
-rw-r--r-- | src/function/read_xml_file.cc | 35 |
1 files changed, 10 insertions, 25 deletions
diff --git a/src/function/read_xml_file.cc b/src/function/read_xml_file.cc index 52f7735..7b54732 100644 --- a/src/function/read_xml_file.cc +++ b/src/function/read_xml_file.cc @@ -40,48 +40,33 @@ xalan::XObjectPtr FunctionReadXmlFile::execute( ); if ( boost::filesystem::is_regular_file(filePath) ) { - xercesc::DOMElement* const contentNode( - domDocument->createElement(*XercesStringGuard("content")) + xercesc::DOMElement* const resultNode( + domDocument->createElement(*XercesStringGuard("result")) + ); + + resultNode->setAttribute( + *XercesStringGuard("name"), + *XercesStringGuard(filePath.filename().string()) ); xercesc::XercesDOMParser parser; boost::filesystem::ifstream file(filePath); parser.parse(xalan::XSLTInputSource(file)); - xercesc::DOMNode* const contentTreeNode( + xercesc::DOMNode* const resultTreeNode( domDocument->importNode( parser.getDocument()->getDocumentElement(), true ) ); - xercesc::DOMElement* const resultNode( - domDocument->createElement(*XercesStringGuard("status")) - ); - - xercesc::DOMText* const resultTextNode( - domDocument->createTextNode( - *XercesStringGuard("successful") - ) - ); - - contentNode->appendChild(contentTreeNode); - resultNode->appendChild(resultTextNode); - - rootNode->appendChild(contentNode); + resultNode->appendChild(resultTreeNode); rootNode->appendChild(resultNode); } else { xercesc::DOMElement* const resultNode( - domDocument->createElement(*XercesStringGuard("status")) - ); - - xercesc::DOMText* const resultTextNode( - domDocument->createTextNode( - *XercesStringGuard("error") - ) + domDocument->createElement(*XercesStringGuard("error")) ); - resultNode->appendChild(resultTextNode); rootNode->appendChild(resultNode); } } |