İşlem Talimatları
İşlem Talimatları, Hızlı XML ayrıştırıcısı tarafından desteklenmektedir. Ancak, ayrıştırma perspektifinden normal etiketler olarak değerlendirilirler. Bu nedenle, öznitelik işleme için aşağıdaki özelliklerin ayarlanması gerekmektedir;
ignoreAttributes: false,
allowBooleanAttributes: true
İşte bir örnek:
Girdi
<?xml version="1.0"?>
<?textinfo whitespace is allowed ?>
<h1></h1>
ipucu
PI etiketlerini işlemek için gerekli olan kod yapısını burada bulabilirsiniz.
Kod:
const options = {
ignoreAttributes: false,
format: true,
preserveOrder: true,
allowBooleanAttributes: true
};
const parser = new XMLParser(options);
let result = parser.parse(xmlData);
// const builder = new XMLBuilder(options);
// const output = builder.build(result);
JS sıralı nesne:
[
{
"?xml": [
{
"#text": ""
}
],
":@": {
"@_version": "1.0"
}
},
{
"?textinfo": [
{
"#text": ""
}
],
":@": {
"@_whitespace": true,
"@_is": true,
"@_allowed": true
}
},
{
"h1": []
}
]
tehlike
Lütfen dikkate alınız ki:
#text
her zaman boştur, diğer ayrıştırılmış özniteliklerle tutarlılığı korumak için.- PI etiket adı '?' ile başlar.
- Öznitelikler, diğer normal etiketler için ayrıştırıldığı şekilde ayrıştırılır.
Yukarıdaki JS sıralı nesneyi ayrıştırmak için yapılandırıcıyı kurduğunuzda:
const options = {
ignoreAttributes: false,
preserveOrder: true,
allowBooleanAttributes: true,
suppressBooleanAttributes: true
};
const builder = new XMLBuilder(options);
const output = builder.build(result);
Çıktı:
<?xml version="1.0"?>
<?textinfo whitespace is allowed?>
<h1></h1>