export function dicomToXml(json) {
const xml = [
'',
'',
];
dicomObjectToXml(xml, json);
xml.push('');
return xml.join('\n');
}
export function dicomObjectToXml(xml, json) {
for (const [tag, value] of Object.entries(json)) {
dicomTagToXml(xml, tag, value);
}
return xml;
}
export function dicomTagToXml(xml, tag, value) {
if (!value || !value.vr || !value.Value) {
return xml;
}
xml.push(``);
const isSQ = value.vr === 'SQ';
let index = 1;
if (isSQ) {
for (const item of value.Value) {
xml.push(`- `);
dicomObjectToXml(xml, item);
xml.push('
');
}
} else {
for (const item of value.Value) {
xml.push(`${item}`);
}
}
xml.push('');
return xml;
}