I think the below issue addresses the above one
https://www.drupal.org/project/migrate_plus/issues/2787157 💬 XML Import xpath not working Closed: works as designed , comment #17
I found a small bug that is pretty obvious. In migrate_plus\src\Plugin\migrate_plus\data_parser\Xml.php if the value can't be cast to a string it sets the field instead of adding to the field array. I think the code speaks for itself:
# @see \Drupal\Plugin\migrate_plus\data_parser\Xml line 249
// If the SimpleXMLElement doesn't render to a string of any sort,
// and has children then return the whole object for the process
// plugin or other row manipulation.
if ($value->children() && !trim((string) $value)) {
$this->currentItem[$field_name] = $value;
}
else {
$this->currentItem[$field_name][] = (string) $value;
}
So instead of this
$this->currentItem[$field_name] = $value;
it should be
$this->currentItem[$field_name][] = $value;
I'm gonna attach a patch.
Needs work
6.0
Plugins
The change is currently missing an automated test that fails when run with the original code, and succeeds when the bug has been fixed.
Not all content is available!
It's likely this issue predates Contrib.social: some issue and comment data are missing.
I think the below issue addresses the above one
https://www.drupal.org/project/migrate_plus/issues/2787157
💬
XML Import xpath not working
Closed: works as designed
, comment #17