如何将JSONObject转换为Document?IBM Sterling开发求助
解决方案:JSONObject转org.w3c.dom.Document
你遇到的问题核心是:org.w3c.dom.Document是一个接口,本身并没有静态的parse(String)方法——这个方法属于DocumentBuilder类,而非Document接口本身。下面是适配IBM Sterling环境的可行转换流程:
步骤1:将JSONObject转换为XML字符串
如果你使用的是org.json库的XML工具类,先把JSONObject转为标准XML字符串:
String xmlString = XML.toString(jsonObj);
步骤2:用DocumentBuilder解析XML字符串生成Document
通过JDK自带的XML解析工具链,将XML字符串解析为org.w3c.dom.Document:
import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import org.w3c.dom.Document; import org.xml.sax.InputSource; import java.io.StringReader; // 省略已有的JSONObject初始化逻辑... String xmlString = XML.toString(jsonObj); // 初始化解析工厂与构建器 DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); // 将字符串包装为输入源,解析生成Document实例 Document doc = builder.parse(new InputSource(new StringReader(xmlString)));
关键注意事项
- 必须处理
ParserConfigurationException、SAXException、IOException三种异常(可根据业务需求选择抛出或捕获处理) - IBM Sterling环境默认已包含
javax.xml.parsers相关类,无需额外引入依赖 - 如果需要自定义解析规则(比如忽略命名空间、关闭XML验证),可以通过
DocumentBuilderFactory的方法配置(例如setNamespaceAware(false))
内容的提问来源于stack exchange,提问作者Priyanka T
相关产品推荐
相关产品推荐

