libxml xmlNodePtr到原始xml字符串?

Sti*_*ley 3 c libxml2

给定一个有效的,任意的xmlNodePtr,我想要该节点的字符串表示,包括相同形式的标签,属性和子节点(递归).

FWIW,我的方案是我使用PerformXPathQuery从现有文档中获取数据块.我需要将查询的结果(其中嵌有XML元素)作为原始字符串,因此我可以将其插入到文本字段中.

这些似乎是一项简单的任务,但我找不到一个简单的方法.将xmlDocPtr写入文件必须这样做,但是,我看不到一个方便的方法,它将对树中的任意节点执行相同的操作,并将其返回到内存中.

我希望我只是在xmlsoft.org的褐色棕色文档配色方案中失明

Luk*_*uke 6

xmlNodeDump(或xmlNodeDumpOutput)你在找什么呢?


lin*_*nax 5

我用来将节点转储到字符串的代码.这是objectiv-c所以只需根据需要更改输出.

xmlBufferPtr buffer = xmlBufferCreate();
int size = xmlNodeDump(buffer, myXMLDoc, myXMLNode, 0, 1);

NSLog(@"%d", size);
NSLog(@"%s", buffer->content);
Run Code Online (Sandbox Code Playgroud)

别忘了再次释放缓冲区.