首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Ajax >

dom4j解析XML,该怎么处理

2012-03-12 
dom4j解析XMLDocument xmlDoc new XPPReader().read(new ByteArrayInputStream(xml.getBytes()))Multip

dom4j解析XML
Document xmlDoc = new XPPReader().read(new ByteArrayInputStream(xml.getBytes()));

  Multiple annotations found at this line:
- The method read(InputStream) from the type XPPReader refers to the missing type 
XmlPullParserException
- The type org.gjt.xpp.XmlPullParserException cannot be resolved. It is indirectly 
referenced from required .class files

[解决办法]
一楼的意思该是这样吧?

Java code
Document xmlDoc = (Document )new XPPReader().read(new ByteArrayInputStream(xml.getBytes()));
[解决办法]
Java code
  Document doc=DocmentHelper.parse(xml);//这样不可以吗?
[解决办法]
贴两段dom4j操作xml代码供参考啊,别笑话啊,只希望对LZ有帮助!个人感觉dom4j的API操作还是很方便与容易的。
1、dom4j解析XML
Java code
/**     * 解析二维简单格式的信息类型内容格式定义XML     *      * @param xmlSchema     * @return     */    private SimpleMultiFieldDefine parseSimpleXmlSchemaByXmlString(String xmlSchema) {        Document doc = null;        SimpleMultiFieldDefine simpleDefine = null;        List<SimpleFieldPojo> allFields = null;        try {            // 将字符串转换成文档对象            doc = DocumentHelper.parseText(xmlSchema);            // 获取根节点            Element root = doc.getRootElement();            simpleDefine = new SimpleMultiFieldDefine();            // 获取消息类型节点            String typeId = root.element(SystemConstants.XML_FIELDNAME_TYPEID).getTextTrim();            simpleDefine.setTypeId(typeId);            // 获取消息名称节点            String typeName = root.element(SystemConstants.XML_FIELDNAME_TYPENAME).getTextTrim();            simpleDefine.setTypeName(typeName);            // 循环遍历获取所有field字段            allFields = new ArrayList<SimpleFieldPojo>();            for (Iterator fields = root.elementIterator(SystemConstants.XML_FIELDNAME_FIELD); fields.hasNext();) {                Element element = (Element) fields.next();                String field_id = element.elementTextTrim(SystemConstants.XML_FIELDNAME_FIELD_ID);                String field_name = element.elementTextTrim(SystemConstants.XML_FIELDNAME_FIELD_NAME);                String field_type = element.elementTextTrim(SystemConstants.XML_FIELDNAME_FIELD_TYPE);                SimpleFieldPojo field = new SimpleFieldPojo(field_id, field_name, field_type);                allFields.add(field);            }            simpleDefine.setAllFields(allFields);        } catch (DocumentException e) {            return null;        }        return simpleDefine;    } 

热点排行