Değer Ayrıştırıcı
Değer ayrıştırıcılarının sırasını değiştirebilir, birini kaldırabilir veya kendi ayrıştırıcınızı ekleyerek ayrıştırmayı kontrol edebilirsiniz.
Varsayılan olarak, etiket ve öznitelik değerlerini ayrıştırmak için aşağıdaki ayrıştırıcı sırası kullanılır:
["trim","join", "number","boolean","currency"]
Varlık ve tarih ayrıştırıcıları ayarlanmalıdır.
ipucu
Ayrıştırıcı sırasını değiştirirken, hangi tür verilerin hangi sırayla işleneceğini göz önünde bulundurmalısınız.
Varsayılan ayrıştırıcıları geçersiz kılmadığınızda örnek:
const JsObjOutputBuilder = require("fast-xml-parser/src/v5/OutputBuilders/JsObjBuilder");
const xmlData = `<root>
<int> 1234 </int>
<str>4567</str>
<int>str 6789</int>
<bool>true </bool>
</root>`
const parser = new XMLParser({
OutputBuilder: new JsObjOutputBuilder()
});
//xmlData'nızı kendi başınıza okuyun
let result = parser.parse(xmlData, true);
Çıktı:
{
"root": {
"int": [
1234,
"str 6789"
],
"str": 4567,
"bool": true
}
}
Ancak bunu geçersiz kılarsanız, tanımladığınız sıraya göre işlem yapar.
const JsObjOutputBuilder = require("fast-xml-parser/src/v5/OutputBuilders/JsObjBuilder");
const xmlData = `<root>
<int> 1234 </int>
<str>4567</str>
<int>str 6789</int>
<bool>true </bool>
</root>`
const parser = new XMLParser({
OutputBuilder: new JsObjOutputBuilder({
tags: {
valueParsers: ["number"]
}
})
});
//xmlData'nızı kendi başınıza okuyun
let result = parser.parse(xmlData, true);
Çıktı:
{
"root": {
"int": [
1234,
"str 6789"
],
"str": 4567,
"bool": "true"
}
}
bilgi
FXP v5 ayrıca kendi değer ayrıştırıcınızı ayarlamanıza da izin verir. Örneğin;
const outputBuilderOptions = {
tags: {
valueParsers: [
"trim",
"boolean",
new numberParser({
hex: true,
leadingZeros: true,
eNotation: true
}),
"currency"
]
}
}