分享

java

 muyable 2015-01-01
dom4j中能否通过节点的属性获得某个具体的节点?
<root>
<node name="a">
    <xml>1</xml>
</node>
<node name="b">
    <xml>2</xml>
</node>
<node name="c">
    <xml>3</xml>
</node>
    ....

我想获得 node name="b" 的这个节点该怎么办?求各位大神帮忙解决下!!

已采纳
public static void main(String[] args) {
    SAXReader saxReader = new SAXReader();
    Document document;
    try {
        document = saxReader.read(new File(Dom4j.class.getClass()
                .getResource("/").getFile().toString()
                + "test.xml"));
        Element root = document.getRootElement();
        Element node = Dom4j.parse(root , "name" , "b");
        ...
    } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

/*
 * 获得X属性结果是X值的整个标签
 */
public static Element parse(Element node , String type , String val) {
    for (Iterator iter = node.elementIterator(); iter.hasNext();) {
        Element element = (Element) iter.next();
        Attribute name = element.attribute(type);
        if (name != null) {
            String value = name.getValue();
            if (value != null && val.equals(value))
                return element;
            else
                parse(element , type , val);
        }
    }
    return null;
}
2014.01.04 02:07

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约