Short answer: do not try to parse an XML file in your board constructor.
You already seem to have a working constructor and valid classes to setup the board for you. Pass these classes to the Board constructor. Let some kind of factory create the instances for you.
Do not mix the XML-parsing logic with the Board game logic. That's two completely different things. According to the single-responsibility rule, it should be kept separate.
Done correctly, you should be able to create a board with an ad-hoc configuration in code, from an XML-File or any other source. In other words: It should not matter for the board where the data came from.
The XML file should look more like this:
<Levels>
<Level id="1">
<h>2</h>
<l>2</l>
<plateau key="value">
<cells>
<cell row="0" column="0" color="black">
</cell>
<!-- ... -->
</cells>
</plateau>
Use an XML parser to parse the read the data from the file.
Pass the result to the Board constructor, e.g. pseudo code:
List<Level> levels = parseLevels(...);
new Board(levels.get(0));
The implementation of 'parseLevels()' might be tricky. I recommend you use JAXB to parse the file and create your data structure.
Try this tutorial:
https://www.baeldung.com/jaxb