diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/xml/StaxXmlGenerator.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/xml/StaxXmlGenerator.scala
index 87f0b50b9af2..514138ab7508 100644
--- a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/xml/StaxXmlGenerator.scala
+++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/xml/StaxXmlGenerator.scala
@@ -169,8 +169,8 @@ class StaxXmlGenerator(
def writeElement(dt: DataType, v: Any, options: XmlOptions): Unit = (dt, v) match {
case (_, null) | (NullType, _) => gen.writeCharacters(options.nullValue)
- case (StringType, v: UTF8String) => gen.writeCharacters(v.toString)
- case (StringType, v: String) => gen.writeCharacters(v)
+ case (_: StringType, v: UTF8String) => gen.writeCharacters(v.toString)
+ case (_: StringType, v: String) => gen.writeCharacters(v)
case (TimestampType, v: Timestamp) =>
gen.writeCharacters(timestampFormatter.format(v.toInstant()))
case (TimestampType, v: Long) =>
diff --git a/sql/core/src/test/scala/org/apache/spark/sql/CollationSQLExpressionsSuite.scala b/sql/core/src/test/scala/org/apache/spark/sql/CollationSQLExpressionsSuite.scala
index 0a7b513457a5..993e6cc35a79 100644
--- a/sql/core/src/test/scala/org/apache/spark/sql/CollationSQLExpressionsSuite.scala
+++ b/sql/core/src/test/scala/org/apache/spark/sql/CollationSQLExpressionsSuite.scala
@@ -1272,6 +1272,16 @@ class CollationSQLExpressionsSuite
| true
| 2.0
|""".stripMargin),
+ StructsToXmlTestCase("named_struct('A', 'aa', 'B', 'bb')", "UTF8_LCASE",
+ s"""
+ | aa
+ | bb
+ |
""".stripMargin),
+ StructsToXmlTestCase("named_struct('A', 'aa', 'B', 'bb')", "UTF8_BINARY",
+ s"""
+ | aa
+ | bb
+ |
""".stripMargin),
StructsToXmlTestCase("named_struct()", "UNICODE",
"
"),
StructsToXmlTestCase("named_struct('time', to_timestamp('2015-08-26'))", "UNICODE_CI",