Загрузчик xml Webpack 4 автоматически конвертирует импортированные XML-файлы в JSON.
Каким образом я могу импортировать преобразование XML без в JSON?
XML-данные должны обрабатываться с помощью существующего анализатора XML, предназначенного для приложения.
Чтобы было ясно, я определенно хочу, чтобы нет загружал результат в формате JSON.





Это оказалось относительно просто, хотя и не так хорошо задокументировано.
По сути, мы полагаемся на необработанный загрузчик, поэтому (используя pnpm, чтобы избежать дублирования модулей):
pnpm install --save-dev raw-loader
в вашем конфигурационном файле веб-пакета:
rules: [
{ test: /\.xml$/,
use: [
'raw-loader'
]
},
:
Здесь я буду использовать d3.js (более декларативный, следовательно, лаконичный).
То, как вы анализируете свой xml, отличается от приложения к приложению. Здесь я показываю первый шаг обработки файла в формате MusicXML с партитурой в частичном формате.
Когда у вас есть тег верхнего уровня, вы можете начать копать вниз. Другие форматы xml имеют свои собственные выделенные теги, которые вам нужно будет исследовать и использовать в своем коде.
import * as d3 from 'd3';
import score from '!!raw-loader!./path-to-file.xml';
var parser = new DOMParser();
var score_as_xml = parser.parseFromString(score, "application/xml");
// Could use d3.select(), as should only be one "score-partwise" occurrence:
var score_partwise_tag = d3.selectAll(score_as_xml.getElementsByTagName("score-partwise"));
if ((score_partwise_tag .. and so on.