libxml2 - libxml xmlNodeDump 编码问题

标签 libxml2 kissxml

我有这个代码

    if(genericPtr->type == XML_ATTRIBUTE_NODE){
        xmlAttrPtr attr = (xmlAttrPtr)genericPtr;
        printf("\n str %s\n", (const char *)attr->children->content);
    }

    xmlBufferPtr bufferPtr = xmlBufferCreate();
    if (IsXmlNsPtr(genericPtr)){
        xmlNodeDump(bufferPtr, NULL, (xmlNodePtr)genericPtr, 0, format);
    }else{
        xmlNodeDump(bufferPtr, ((xmlStdPtr)genericPtr)->doc, (xmlNodePtr)genericPtr, 0, format);
    }

    printf("\n str2 %s\n", (const char *)bufferPtr->content);

结果是

str чатрум@muc.chat.quickblox.com/300

str2  to="чатрум@muc.chat.quickblox.com/300"

结果我需要чатрум代替

чатрум

我该怎么做?

最佳答案

尝试xmlNodeDumpOutput它允许您指定编码。请注意,它使用 xmlOutputBuffer 而不是 xmlBuffer。另一个有用的函数是 xmlXPathCastNodeToString它以 xmlChar 形式返回节点的 XPath 字符串值。

关于libxml2 - libxml xmlNodeDump 编码问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14733174/

相关文章:

python - 元素树语法错误 : expected path separator ([)

iphone - 如何从 iOS 应用程序发送 POST XML?

swift - 解析大型 XML 文件失败 - ERROR :Error Domain=DDXMLErrorDomain Code=1 "(null)"

python - lxml 和 libxml2 哪个更适合在 Python 中解析格式错误的 html?

python - 展开默认 (dita) 属性

ios - 当我创建 XMLDocument 的自动发布目标时,我的应用程序崩溃了

iphone - KissXML 不返回字符串

php - 带有 OOP 的 libxml 错误处理程序

python - 如何使用python处理libxml2 parserError异常