首先得到:得到 DOM 解析器的工厂实例
DocumentBuilderFactory domfac=DocumentBuilderFactory.newInstance();
然后从 DOM 工厂获得 DOM 解析器
DocumentBuilder dombuilder=domfac.newDocumentBuilder();
3 )把要解析的 XML 文档转化为输入流,以便 DOM 解析器解析它
Document parse = (Document) builder.parse(new ByteArrayInputStream(xmlStr.getBytes(StandardCharsets.UTF_8)));
这里其实也不用获取解析后的返回值了,如果解析失败就会抛出异常了。
案例分析加完整代码:
使用方法代码:
//xml文件的string类型内容
String xmlData = " ";
Dom4jUtils.isXmlDocument(xmlData);
我这里是将该验证方法放在了Dom4j这个工具类中.
Dom4j工具类:
public class Dom4jUtils {
//定义日志记录器
private static Logger logger = LoggerFactory.getLogger(Dom4jUtils.class);
/**
* 验证 xml格式是否正确
* @param xmlStr xmlStr
* @throws Exception Exception
*/
public static void isXmlDocument(String xmlStr) throws Exception{
DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = documentBuilderFactory.newDocumentBuilder();
builder.parse(new ByteArrayInputStream(xmlStr.getBytes(StandardCharsets.UTF_8)));
}
}
这个方法没有返回东西,因为只是验证xml格式是否正确的方法,若报错就是不正确即可。