程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> xml-dom4j中能否通過節點的屬性獲得某個具體的節點?

xml-dom4j中能否通過節點的屬性獲得某個具體的節點?

編輯:編程綜合問答
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;
}
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved