Advertisement
anivaros

Untitled

Nov 14th, 2014
235
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. void CopyXMLNodeWithXpath(NSString *sourceXmlDoc, NSString *resultXmlDoc, NSString *sourcePath, NSString *replacePath, NSString *fileName, NSString *schemaName, NSString *schemaNameAlias) {
  2.     @autoreleasepool {
  3.         NSData *sourceXmlData = [sourceXmlDoc dataUsingEncoding:NSUTF8StringEncoding];
  4.         NSData *resultXMlData = [resultXmlDoc dataUsingEncoding:NSUTF8StringEncoding];
  5.  
  6.         xmlDocPtr resultDoc;
  7.         xmlDocPtr sourceDoc;
  8.         /* Load XML document */
  9.  
  10.         resultDoc = xmlReadMemory([resultXMlData bytes], [resultXMlData length], "", NULL, XML_PARSE_RECOVER);
  11.  
  12.         if (resultDoc == NULL) {
  13.             return;
  14.         }
  15.         sourceDoc = xmlReadMemory([sourceXmlData bytes], [sourceXmlData length], "", NULL, XML_PARSE_RECOVER);
  16.  
  17.         if (sourceDoc == NULL) {
  18.             xmlFreeDoc(resultDoc);
  19.             return;
  20.         }
  21.  
  22.  
  23.         xmlNodePtr rootSourceNode = getXmlNodeByquery(sourceDoc, sourcePath, schemaName, schemaNameAlias);
  24.  
  25.         xmlNodePtr rootReplaceNode = getXmlNodeByquery(resultDoc, replacePath, schemaName, schemaNameAlias);
  26.         xmlNodePtr copyNode = xmlCopyNode(rootSourceNode, 1);
  27.  
  28.         xmlAddChild(rootReplaceNode, copyNode);
  29.  
  30.  
  31.         xmlSaveFileEnc([fileName UTF8String], resultDoc, "UTF-8");
  32.     }
  33. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement