From f338dce6cf22d31f7abf4900a0093d7ab938b143 Mon Sep 17 00:00:00 2001 From: Aled Sage Date: Tue, 25 Apr 2017 20:22:16 +0100 Subject: [PATCH] BROOKLYN-489: Fix XmlUtil.xpath character encoding Be explicit to use UTF_8. Otherwise, on some environments (e.g. windows?) it could use a different encoding --- .../java/org/apache/brooklyn/util/core/xstream/XmlUtil.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/core/src/main/java/org/apache/brooklyn/util/core/xstream/XmlUtil.java b/core/src/main/java/org/apache/brooklyn/util/core/xstream/XmlUtil.java index 8c4cc3d38e..e989d5f5ce 100644 --- a/core/src/main/java/org/apache/brooklyn/util/core/xstream/XmlUtil.java +++ b/core/src/main/java/org/apache/brooklyn/util/core/xstream/XmlUtil.java @@ -18,8 +18,8 @@ */ package org.apache.brooklyn.util.core.xstream; -import java.io.ByteArrayInputStream; import java.io.IOException; +import java.io.StringReader; import javax.xml.namespace.QName; import javax.xml.parsers.DocumentBuilder; @@ -32,6 +32,7 @@ import org.apache.brooklyn.util.exceptions.Exceptions; import org.w3c.dom.Document; +import org.xml.sax.InputSource; import org.xml.sax.SAXException; import com.google.common.annotations.Beta; @@ -65,7 +66,7 @@ public static String xpath(String xml, String xpath) { public static Object xpath(String xml, String xpath, QName returnType) { try { DocumentBuilder builder = SharedDocumentBuilder.get(); - Document doc = builder.parse(new ByteArrayInputStream(xml.getBytes())); + Document doc = builder.parse(new InputSource(new StringReader(xml))); XPathFactory xPathfactory = XPathFactory.newInstance(); XPathExpression expr = xPathfactory.newXPath().compile(xpath);