当我试图获取根元素公司的属性时,我发现了以下问题,也有一些例外。
但我输入了我需要的一切;然后eclipse说删除未使用的导入。
我想知道为什么即使在我输入了所有东西之后它也会发生, 请给我一些想法来删除这个bug。
这也是做xml解析的方法吗?是否有任何替代和简单的方法 做同样的事情?
import java.io.EOFException;
import java.io.File;
import javax.lang.model.element.Element;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import javax.lang.model.element.Element;
public class DomTest1 {
private static final String file = "test1.xml";
public static void main(String[] args) {
if (args.length>0) {
file = args[0];
}
try {
DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
DocumentBuilder builder=factory.newDocumentBuilder();
Document document=builder.parse(new File(file));
Element root=document.getDocumentElement();
System.out.println(root.getTagName());
System.out.printf("name: %s%n", root.getAttribute("name"));
System.out.printf("sHortname: %s%n", root.getAttribute("sHortname"));
System.out.printf("mission : %s%n", root.getAttribute("mission"));
} catch(EOFException e) {
e.printStackTrace();
}
}
}
Exception in thread "main" java.lang.Error: Unresolved compilation problems:
Type mismatch: cannot convert from org.w3c.dom.Element to javax.lang.model.element.Element
The method getTagName() is undefined for the type Element
The method getAttribute(String) is undefined for the type Element
The method getAttribute(String) is undefined for the type Element
The method getAttribute(String) is undefined for the type Element
at DomTest1.main(DomTest1.java:23)
答案 0 :(得分:6)
你有
import javax.lang.model.element.Element;
但你想要
import org.w3c.dom.Element;
代替。
另外,对此:
也是进行xml解析的方法吗?有什么选择吗? 简单的方法做同样的事情?
您正在使用java提供的方法来进行xml解析。使用第三方库有几种更好的替代方案。我建议测试jdom,这要简单得多。请参见示例here。
答案 1 :(得分:0)
问题是因为这个
import javax.lang.model.element.Element;
使用此导入语句
import org.w3c.dom.Element