2

私はNodeJSでXMLを扱っています。を使用しxmlbuilderて XML を作成しています。問題は、要素が既に存在するかどうかを確認し、削除または更新する必要があることです。たとえば、次の XML があります。

<?xml version="1.0"?>
<listings>
    <listing>
        <id>1</id>
        <name>TEST</name>
        <description>TEST</description>
    </listing>
    <listing>
        <id>2</id>
        <name>TEST</name>
        <description>TEST</description>
    </listing>
</listings>

次に、updateXML コントローラーを呼び出してデータを追加します。

const builder = require('xmlbuilder');
const fs = require('fs');
const path = require("path");

exports.updateXML = async (req, res, next) => {
    const data = req.body.data;
    /* 
        For example data is
        {
            id: 2,
            name: "Test2",
            description: "Desc2"
        }
    */

    const xmlFile = fs.readFileSync(path.resolve(__dirname, "./oodle.xml"), 'utf8');
    
    if(/*How do I check if the xmlFile has a <id> === data.id?*/) {
        // If id matches. How can I delete the whole <listing> node for that id?
    }

    const newListing = builder.create('listing');
    newListing.ele("id", data.id);
    newListing.ele("name", data.name);
    newListing.ele("description", data.description);

    // How can I add the newListing node to the xmlFile?
}

ありがとう

4

1 に答える 1