Xerces-C++解析XML

  1. 初始化XML
    CXmlLib xmlLib;
    DOMElement* pNode = xmlLib.InitDOMParser(strXmlFilePath.c_str());

  2. 获取XML节点内容
    DOMElement* pChildNode = xmlLib.GetFirstChild(pNode);
    while (pChildNode)
    {
    //获取节点名称
    string strNodeName = xmlLib.GetNodeNameString(pChildNode);
    string strChanged = “更改节点名称”;
    //设置节点名称
    xmlLib.SetNodeValue(strChanged.c_str(), pChildNode);
    //获取节点属性
    xml.GetAttributeValueString(pChildNode, _T(“节点属性”));
    //设置节点属性
    string strChangePro;
    xml.SetAttributeValue(pChildNode, _T(“节点属性”), strChangePro)
    }

  3. 重新写入XML
    strXml = xmlLib.ConvertXMLToString();
    Buffer2File(szXmlFileName,(BYTE*)strOutPut.c_str(),strOutPut.length());


BOOL Buffer2File(const char* sFileName, char* pBuf, DWORD dwBufLen)
{
        if (pBuf == NULL || dwBufLen < 1)
        {
            return FALSE;
        }
    FILE *file = NULL;
    fopen_s(&file, sFileName, "w");
    if (file == NULL)
    {
        return FALSE;
    }

    fwrite(pBuf, 1, dwBufLen, file);
    fclose(file);

    return TRUE;
}

参考:https://www.cnblogs.com/anwcq/p/xerces-c.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值