有没有最好的方法来解析xml文件并将其存储在bean中,同时根据xsd对其进行验证?
我有这样一个场景。
我必须解析xml文件并将数据存储在java/spring(首选)bean中,我想在我的junit类中使用它。
我想做的是限制用户编写特定格式的xml。因此,我想根据xsd验证xml文件
有没有最好的API可以做到这一点?
xml文件是一个带有嵌套标记的简单文件,并且不太大。
JAXB解析的使用非常好,我认为这将非常容易。你可以这样做::
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
InputSource is = new InputSource(new StringReader(xml));
Document doc = dBuilder.parse(is);
doc.getDocumentElement().normalize();
NodeList nList = doc.getElementsByTagName("XML_Parent_Element");
for (int temp = 0; temp < nList.getLength(); temp++) {
Node nNode = nList.item(temp);
if (nNode.getNodeType() == Node.ELEMENT_NODE) {
Element eElement = (Element) nNode;
bean.setAttribute(eElement.getElementsByTagName("attribute_name_string")
.item(temp).getAttribute());
}