0

我想要的 XML 格式如下所示:

    <?xml version="1.0" encoding="UTF-8"?>
    <billFetchRequest>
      <inputParams>
        <input>
          <paramName>Customer ID</paramName>
          <paramValue>5453401</paramValue>
        </input>
        <input>
          <paramName>Mobile</paramName>
          <paramValue>96996213</paramValue>
        </input>
        <input>
          <paramName>Name</paramName>
          <paramValue>96996231</paramValue>
        </input>
      </inputParams>
    </billFetchRequest>

为了转换它,我编写了如下所示的代码:

    const o2x = require("object-to-xml");


    const tesF = (req,res) =>{
    let data = {
        '?xml version=\"1.0\" encoding=\"UTF-8\"?': null,
         billFetchRequest: {
                inputParams: [{
                     input: {
                        paramName: 'Customer ID',
                        paramValue: req.query.crn
                            }
                        }, {
                     input: {
                         paramName: 'Mobile',
                         paramValue: req.query.ph_no
                            }
                        }, {
                     input: {
                         paramName: 'Name',
                         paramValue: req.query.ph_no
                            }
                        }]
                    }
                };
    }

 console.log(o2x(data))

但不知何故,它给了我如下所示的输出:

<?xml version="1.0" encoding="UTF-8"?>
<billFetchRequest>
   <inputParams>
    <input>
      <paramName>Customer ID</paramName>
      <paramValue>54543401</paramValue>
    </input>
  </inputParams>
  <inputParams>
    <input>
      <paramName>Mobile</paramName>
      <paramValue>9699623113</paramValue>
    </input>
  </inputParams>
  <inputParams>
    <input>
      <paramName>Name</paramName>
      <paramValue>9699623113</paramValue>
    </input>
  </inputParams>
</billFetchRequest>

每个阶段都有额外的inputParams标签关闭。可以通过 object 删除它们吗?

我正在使用这个npm 包

4

1 回答 1

1
const o2x = require("jsontoxml");   
    let data = {
      '?xml version=\"1.0\" encoding=\"UTF-8\"?': null,
       billFetchRequest: {
              inputParams: [{
                   input: {
                      paramName: 'Customer ID',
                      paramValue: 'req.query.crn'
                          }
                      }, {
                   input: {
                       paramName: 'Mobile',
                       paramValue: 'req.query.ph_no'
                          }
                      }, {
                   input: {
                       paramName: 'Name',
                       paramValue: 'req.query.ph_no'
                          }
                      }]
                  }
              };   
    console.log(o2x(data))
于 2019-08-21T05:40:27.483 回答