getAttributeValue returns 空 java

getAttributeValue returns null java

我想获取根元素中类型的值。

如果我尝试使用 getAttributeValue("type") 它 returns 空值

这里是示例 xml 和代码。我正在使用 org.jdom2.Element 进行解析 我们会提供帮助。

样本xml

<root type="new">
<msg size="30">

<attr uid="0" value="500" />
<attr uid="15" value="XHYs5"/>

</msg>
</root>

我的代码

        SAXBuilder builder = new SAXBuilder();
        File xmlFile = new File(filename);

        Document document;
        try {
            document = (Document) builder.build(xmlFile);
        } catch (JDOMException | IOException e1) {
           throw new ISOException("Error reading xml file");
        }
        Element rootNode = document.getRootElement();
        typeVal=rootNode.getAttributeValue("type");  
        System.out.println(typeVal);   

也许你有问题imports。你的代码对我有用。

import org.jdom2.Document;
import org.jdom2.Element;
import org.jdom2.JDOMException;
import org.jdom2.input.SAXBuilder;

import java.io.File;
import java.io.IOException;

public class DemoTest {
    public static void main(String[] args) {
        SAXBuilder builder = new SAXBuilder();
        File xmlFile = new File("E:\git\src\datamigrationGeneric\test\sample.xml");

        Document document = null;
        try {
            document = (Document) builder.build(xmlFile);
        } catch (JDOMException | IOException e1) {
            e1.printStackTrace();
        }
        Element rootNode = document.getRootElement();
        String typeVal=rootNode.getAttributeValue("type");
        System.out.println(typeVal);

    }
}