Weboldal keresés

node.js - az xml2js elemző figyelmen kívül hagyja a tömbben lévő üres karakterláncot, ami a tömb méretének változásához vezet


az alábbi xml feldolgozandó:

<ENVELOPE>
<ABC>
    <DEF>apple</DEF>
    <GHI>4</GHI>
    <JKL>85</JKL>
</ABC>
<MNO>add</MNO>
<PQR></PQR>
<STU></STU>
</ENVELOPE>

és válasz a feldolgozás után:

{

"BORÍTÉK": { "ABC": { "DEF": "alma", "GHI": "4", "JKL": "85" }, "MNO": "hozzáad" } }

A másik két címkét az xml2js elemző elvetette. De szükségem van rá, hogy legalább üresen ott legyen. Megpróbáltam az elemző beállításait használni, de eddig sikertelenül.

Itt van a kódom a parser megszerzéséhez:

private getParser() {
let nameToLowerCase = (name: string): string => {
  return name.toLowerCase();
}

let options: xml2js.Options = {
  attrkey: '_',
  charkey: '$',
  explicitCharkey: true,
  emptyTag: null,
  normalize: true,
  normalizeTags: true,
  explicitArray: false,
  trim: true,
  tagNameProcessors: [nameToLowerCase],
  attrNameProcessors: [nameToLowerCase]
};

return new xml2js.Parser(options);

}

Kapcsolódó cikkek