Node.js 如何更新使用XMLBuilder和Nodejs创建的XML中特定标记的值

Node.js 如何更新使用XMLBuilder和Nodejs创建的XML中特定标记的值,node.js,xml,xml-builder,Node.js,Xml,Xml Builder,我正在使用xmlbuilder包为Node.js中的用户输入创建XML文件。此XML文件包含包含许多事件的事件列表。由于xmlbuilder的默认行为,事件被附加到彼此。XML中的一些标记是根据用户输入添加的 我在XML文件中有一个字段,它是eventID,其值是使用HashID计算的。为了计算HashID,我需要在XML中连接各种值和标记。HashID因此我希望在最后进行计算,但我希望eventID标记显示在顶部。为了实现这一点,我提出了两种变通方法: 在顶部添加标记eventID,并将其保留

我正在使用
xmlbuilder
包为
Node.js
中的用户输入创建XML文件。此XML文件包含包含许多事件的事件列表。由于
xmlbuilder
的默认行为,事件被附加到彼此。XML中的一些标记是根据用户输入添加的

我在XML文件中有一个字段,它是
eventID
,其值是使用HashID计算的。为了计算HashID,我需要在XML中连接各种值和标记。HashID因此我希望在最后进行计算,但我希望
eventID
标记显示在顶部。为了实现这一点,我提出了两种变通方法:

  • 在顶部添加标记
    eventID
    ,并将其保留为空。在计算结束后对其进行修改

  • 在末尾使用哈希函数计算
    eventID
    ,然后将标记添加到现有的XML中

  • 我试着搜索,但找不到准确的结果。一些答案是将XML转换为JS并进行更改,然后再将JS转换为XML。我尝试过这样做,但这打破了我的默认行为
    XMLBuilder
    ,我得到了错误
    TypeError:root.ele不是一个函数

    有人能帮我解决这两个问题吗。或者如果你有更好的想法,我愿意接受

    以下是我的代码:

    var builder     =   require('xmlbuilder');
    var input       =   Query.input;
    var root        =   builder.create('EventDocument')
                            root.att('xmlns:hello', "hello123")
                            root.att('xmlns:xsi', "http://www.w3.org/2001/XMLSchema-instance")
                            root.att('xsi:schemaLocation',"eventList2_0.xsd")
    root            =   root.ele('EventList')
      
    for(var count=0; count<XMLCount; count++)
    {
        var Object          =    root.ele(input.eventtype1)
      
        //Various fields of the XML
      
        Object.ele('eventTime', moment().format()).up()
    
        //Various fields of the XML
    
        baseExtension       =   Object.ele('baseExtension')
        baseExtension.ele('eventID','')
    
        //Various fields of the XML
        
        //I want to call another Nodejs file here to calculate the HashID here and then either update/add the element the 'eventID' field.  
    }
    
    var builder=require('xmlbuilder');
    var输入=Query.input;
    var root=builder.create('EventDocument')
    root.att('xmlns:hello',“hello123”)
    root.att('xmlns:xsi','http://www.w3.org/2001/XMLSchema-instance")
    att('xsi:schemaLocation',“eventList2_0.xsd”)
    root=root.ele('EventList')
    对于(变量计数=0;计数