Я работаю над случаем, когда мне нужно очистить недопустимые символы XML, которые я получаю от веб-службы SharePoint. Я знаю, что исправление источника - это правильная вещь, но эта проблема была сообщена еще в 2008 году, и я еще не нашел, что Microsoft выпустила для нее патч.Как преобразовать источник с недопустимыми символами XML
В настоящее время я вызываю веб-службу, используя интерфейс поставщика от JAX-WS. Я получаю Источник с возвращенным XML просто отлично, но я застрял, пытаясь найти способ преобразования источника в действительный XML DOM.
я получаю исключение, жалуясь о незаконном характере XML каждый раз, когда я пытаюсь что-то вроде следующего псевдокода:
public void xmlTranform(javax.xml.transform.Source source) {
StreamResult sr = new StreamResult(new java.io.StringWriter());
Transformer tf = TransformerFactory.newInstance().newTransformer();
tf.transform(source, sr);
...
было бы возможно создать пользовательский FilterReader и вставить его в трансформации?
Может быть, я могу настроить Маршаллера?
Что было бы лучшим способом вставить код в преобразование, чтобы отфильтровать эти недопустимые символы?