0

我有两个 XML 文件。

第一个.xml

<?xml version="1.0" encoding="UTF-8"?>
<Average>
    <source unit="FP">
        <brand name="Add" abbreviation="addition" value="0">            
            <mask value="1" name="Integer"/>
            <description></description>
        </brand>
        <brand name="Sub" abbreviation="substraction" value="1">            
            <mask value="1" name="Integer"/>
            <description></description>
        </brand>
    </source>
</Average>

第二个.xml

<source unit="PE">
    <brand name="Mul" abbreviation="multiplication" value="0">            
            <mask value="1" name="Integer"/>
            <description></description>
    </brand>
    <brand name="Div" abbreviation="division" value="0">            
            <mask value="1" name="Integer"/>
            <description></description>
    </brand>
</source>

我想将second.xml文件的内容附加到first.xml文件

预期输出:

<?xml version="1.0" encoding="UTF-8"?>
<Average>
    <source unit="FP">
        <brand name="Add" abbreviation="addition" value="0">            
            <mask value="1" name="Integer"/>
            <description></description>
        </brand>
        <brand name="Sub" abbreviation="substraction" value="1">            
            <mask value="1" name="Integer"/>
            <description></description>
        </brand>
    </source>
    <source unit="PE">
    <brand name="Mul" abbreviation="multiplication" value="0">            
            <mask value="1" name="Integer"/>
            <description></description>
    </brand>
    <brand name="Div" abbreviation="division" value="0">            
            <mask value="1" name="Integer"/>
            <description></description>
    </brand>
</source>
</Average>

这是我正在尝试的:

#include<iostream>
#include<string>
#include "tinyxml2.h"

void doAccess(const std::string& first, const std::string& second)
{
    std::string outFile = "output.xml";
    tinyxml2::XMLDocument doc;

    if (tinyxml2::XML_SUCCESS == doc.LoadFile(first.c_str()))
    {
        std::cout << "File is Present\n";
        doc.SaveFile(outFile.c_str());
    }

    if (tinyxml2::XML_SUCCESS == doc.LoadFile(second.c_str()))
    {
        std::cout << "File is Present\n";
        doc.SaveFile(outFile.c_str());
    }
}

int main()
{
    std::string first = "first.xml";
    std::string second = "second.xml";

    doAccess(first , second);

    return 0;
}

任何帮助将不胜感激。

4

0 回答 0