java怎么通过xml节点的属性获取这个节点的值?

如题所述

    创建解析器
    SAXReader saxreader = new SAXReader();

    读取文档
    Document doc = saxreader.read(new File("url"));

    获取根
    Element root = doc.getRootElement();

    获取子节点
    List<Element> list = root.elements();

    System.out.println(e.elementText("name"));
    System.out.println(e.element("score").attributeValue("java"));

    Reader reader = new InputStreamReader(con
    .getInputStream());
    SAXReader sax = new SAXReader();
    // sax.setEncoding("GBK");

    Document document = sax.read(reader);
    document.setXMLEncoding("GBK");
    Element root = document.getRootElement();
    // Document doc = reader.read(read);
    // Element root = doc.getRootElement();
    readNode(root, "");

    public static void readNode(Element root, String prefix) {
    if (root == null) return;
    // 获取属性
    List<Attribute> attrs = root.attributes();
    if (attrs != null && attrs.size() > 0) {
    System.err.print(prefix);
    for (Attribute attr : attrs) {
    System.err.print(attr.getValue() + " ");
    }
    System.err.println();
    }

    // 获取他的子节点
    List<Element> childNodes = root.elements();
    prefix += "\t";
    for (Element e : childNodes) {
    //输出内容
    System.err.println(e.getName()+":"+e.getData());
    readNode(e, prefix);
    }
    }

温馨提示:内容为网友见解,仅供参考
第1个回答  2018-01-03

(一)首先,输入一套程序代码,具体的程序提供如下,配图:

(二)如果以上程序代码不能解决问题,请及时联系相关专业人士解决。

在一般情况下,java是通过xml节点的属性设置一连串系列的程序代码获取节点的值。

第2个回答  2018-01-02

    创建解析器:
    SAXReader saxreader = new SAXReader();

    读取文档:
    Document doc = saxreader.read(new File("url"));

    获取根:

    Element root = doc.getRootElement();

    获取子节点:
    List<Element> list = root.elements();
    for(Element e : list){ System.out.println(e.elementText("name"));
    System.out.println(e.element("score").attributeValue("java")); }。

java怎么通过xml节点的属性获取这个节点的ŀ
在一般情况下,java是通过xml节点的属性设置一连串系列的程序代码获取节点的值。

java 解析 xml字符串 取子节点数值
Element root = doc.getRoot();\/\/或许是doc.rootElement();,这里获取到的是process节点 Iterator<?> iter = root.elementIterator("task");\/\/这里是task节点的迭代器,因为有多个task,所以使用迭代器,如果是一个节点的话,就使用root.element("task')就行了 while(iter.hasNext()) { Element ...

java+xml注解如何实现节点有属性,value直接赋值,没有子节点的xml格式...
XmlAttribute \/\/ 使用@XmlAttribute注解表示属性 private String name;XmlValue \/\/ 使用@XmlValue注解表示节点的值 private String value;\/\/ 构造函数、getter和setter方法省略 } 然后,将此类应用到你的XML文档中:import javax.xml.bind.JAXBContext;import javax.xml.bind.JAXBException;import javax.xml...

JAVA解析xml得到节点的值
import java.io.File;import java.util.Iterator;import org.dom4j.Document;import org.dom4j.DocumentException;import org.dom4j.Element;import org.dom4j.io.SAXReader;public class ParseXml {public static void main(String[] args) throws DocumentException {SAXReader reader = new SAXReader();Docum...

java如何从一个xml文件读取根节点、子节点属性。
循环遍历所得节点node,通过node.getAttributes()获取节点所有属性,获取各个属性name和值即可,输出想要得到的数据。或者通过doc.getElementsByTagName("bean");直接指定bean节点。然后用同样的方法获取属性名和值,输出。以上是根据jdk的W3C库解析的。想方便可以通过dom4j、jdom进行文件操作。思路变化不大。

如何用java程序从xml文件中根据文本内容获取指定标签并删除标签和内容...
答案就是我们要学习的XML文件。我们可以使用相同的xml把不同的文件联系起来 回到顶部 二、应用 DOM 方式解析 XML ❤ 在Java程序中如何获取XML文件的内容 解析的目的:获取节点名、节点值、属性名、属性值;四种解析方式:DOM、SAX、DOM4J、JDOM DOM、SAX :java 官方方式,不需要下载jar包DOM4J、...

java中dom4j解析xml文件怎么获取节点属性
dom4j中,使用Element.attributes方法可以获取到节点的属性,而使用elements则可以获取相应的子节点 比如:Element root = doc.getRootElement();List attrList = root.attributes();for (int i = 0; i < attrList.size(); i++) { \/\/属性的取得 Attribute item = (Attribute)attrList.get(i);...

java 怎么读取xml里面的值
dom4j是最常用的java解析xml技术,在使用时需要下载dom4j.jar 具体解析方法可以参考一下内容 xml结构 <books> <book id="001"> Harry Potter <author>J K. Rowling<\/author> <\/book> <book id="002"> Learning XML <author>Erik T. Ray<\/author> <\/book> <\/books> ...

怎样用java从xml里读取数据 并且保存为txt格式
一种是从XML的节点中读取数据,如上面的内容就是分别读取到abc123 和 123abc,供后续程序使用。这种读取一般需要使用Java 的一些XML API,如dom4j就可以,具体网上用“java xml”关键字搜一下一大片;另外一种就是把XML的内容作为文本处理,感觉楼主的意思应该是这种。其实XML文件本身就是平文件,直接用...

如何用java遍历出xml中每一个attributeValue的值
递归读取法即可 package tool;import java.util.Scanner;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;import org.w3c.dom.Document;import org.w3c.dom.NamedNodeMap;import org.w3c.dom.Node;import org.w3c.dom.NodeList;public class XMLTool { private ...

相似回答