【发布时间】:2010-10-05 16:26:43
【问题描述】:
我正在处理一个需要清理从 SharePoint Web 服务接收到的无效 XML 字符的案例。 我知道修复源代码是正确的做法 - 但是早在 2008 年就报告了这个问题,我还没有发现微软已经发布了补丁。
现在,我使用来自 JAX-WS 的 Provider 接口调用 Web 服务。我收到带有返回 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 并将其插入到 Transformation 中?
或者我可以自定义 Marshaller 吗?
将代码注入转换以过滤掉那些无效字符的最佳方法是什么?
【问题讨论】:
标签: xml exception transformation sanitization illegal-characters