0

2 つの 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>
</Average>

second.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