diff --git a/src/Umbraco.Core/PropertyEditors/PropertyValueConverterBase.cs b/src/Umbraco.Core/PropertyEditors/PropertyValueConverterBase.cs
index 2e26894d23..3066086e7b 100644
--- a/src/Umbraco.Core/PropertyEditors/PropertyValueConverterBase.cs
+++ b/src/Umbraco.Core/PropertyEditors/PropertyValueConverterBase.cs
@@ -1,4 +1,6 @@
-using Umbraco.Cms.Core.Models.PublishedContent;
+using System.Collections.Generic;
+using System.Xml;
+using Umbraco.Cms.Core.Models.PublishedContent;
namespace Umbraco.Cms.Core.PropertyEditors;
@@ -48,7 +50,29 @@ public abstract class PropertyValueConverterBase : IPropertyValueConverter
///
public virtual object? ConvertIntermediateToXPath(IPublishedElement owner, IPublishedPropertyType propertyType, PropertyCacheLevel referenceCacheLevel, object? inter, bool preview)
- => inter?.ToString() ?? string.Empty;
+ {
+ var d = new XmlDocument();
+ XmlElement e = d.CreateElement("values");
+ d.AppendChild(e);
+
+ if (inter is IEnumerable collection)
+ {
+ foreach (var value in collection)
+ {
+ XmlElement ee = d.CreateElement("value");
+ ee.InnerText = value;
+ e.AppendChild(ee);
+ }
+ }
+ else
+ {
+ XmlElement ee = d.CreateElement("value");
+ ee.InnerText = inter?.ToString() ?? string.Empty;
+ e.AppendChild(ee);
+ }
+
+ return d.CreateNavigator();
+ }
[Obsolete(
"This method is not part of the IPropertyValueConverter contract, therefore not used and will be removed in future versions; use IsValue instead.")]