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;
}
时间: 2024-09-14 16:18:37

xml-dom4j中能否通过节点的属性获得某个具体的节点?的相关文章

怎么读出Xml文件中某个节点、属性的信息

待处理的Xml文件: <?xml version="1.0" encoding='UTF-8'?> <ufinterface billtype="gl" filename="gledi" isexchange="Y" proc="add" receiver="01" replace="Y" roottag="sendresult"

使用qt5操作xml文件,删除xml文件中的节点和修改xml文件节点的数据值

问题描述 使用qt5操作xml文件,删除xml文件中的节点和修改xml文件节点的数据值 使用qt5操作xml文件,删除xml文件中的节点和修改xml文件中节点的数据值. 那位大神知道,如果有代码就更好了. 谢谢 解决方案 QT XML文件 修改节点修改XML文件的节点属性值

js中使用DOM复制(克隆)指定节点名数据到新的XML文件中的代码_javascript技巧

复制代码 代码如下: <?php /* <?xml version="1.0" encoding="utf-8"?> <article> <item> <title name="t1"></title> <content>content1</content> <pubdate>2009-10-11</pubdate> </ite

.NET(C#):觉察XML反序列化中的未知节点

原文 www.cnblogs.com/mgen/archive/2011/12/12/2284554.html 众所周知XML是可以扩展的,XML的元素可以靠名称识别而不是只按照未知识别.在 XML反序列化的时候只要需要的信息存在就可以成功将XML数据转化成反序列化后的对象.但是这并不代表着用来反序列化的XML数据就一定是序列化的标准 结果.有些时候XML数据会有多余冗长信息,这个在反序列化的过程中默认是不会被觉察到的.   XmlSerializer类型有三个事件可以觉察到未知XML节点:Un

ASP操作xml--显示xml文件中的所有节点

通常是利用数据库来保存数据,但也可以使用xml文件来保存数据.假设xml文件的内容是: test.xml <?xml version="1.0" encoding="gb2312"?> <site>  <root>    <list>      <id>0</id>      <name>新浪</name>      <url>http://www.sina.

ASP操作xml--修改xml文件中的节点

vhttp://www.111cn.net/detail.asp?id=157这个页面用来显示xml文件中的所有节点,在每个节点旁边有删除和编辑两个连接,其中删除的代码是: <% id=request("id") if IsNumeric(id)=false or isNull(id) then response.write ("参数不正确,请返回!") response.end end if  strSourceFile = Server.MapPath(&

dom4j向xml文件中增加数据后缺少结尾标签

问题描述 dom4j向xml文件中增加数据后缺少结尾标签 public boolean insertStudent(Student student) { boolean flag=false; SAXReader saxReader=new SAXReader(); try { Document doc=saxReader.read(new File("dbstudent.xml")); Element rootEle=doc.getRootElement(); Element sno

java-android中的xml文件的spinner标签的prompt属性出错肿么办

问题描述 android中的xml文件的spinner标签的prompt属性出错肿么办 android中的xml文件的spinner标签的prompt属性出错肿么办 prompt资源来自哪里呢? 解决方案 prompt属性不是自己设的吗?怎么会出错?

安卓开发中粘贴进项目里的xml文件的R.id里的属性报错怎么解决啊?新手,求助。。

问题描述 安卓开发中粘贴进项目里的xml文件的R.id里的属性报错怎么解决啊?新手,求助.. mContent = (EditText) findViewById(R.id.et_note_content);像这样的代码,R.java中能找到et_note_ content但就是报错,et_note_content cannot be resolved or is not a field.怎么解决啊,新手求助 解决方案 注意一下引入的R是不是你工程的R,看一下import