Ana içeriğe geç

İş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>