@Test
public void testDolaAmeng() throws Exception {
DocumentBuilderFactory dy = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dy.newDocumentBuilder();
File f = new File("E:/JavaApps/day02/src/_05XML/connect.xml");
Document dc = db.parse(f);
NodeList nl = dc.getElementsByTagName("linkman");
Element et = (Element) nl.item(1);
String name1 = et.getAttribute("name");
System.out.println(name1); //nothing get.....
// Element son1 =(Element)et.getElementsByTagName("name").item(0);
//String name2 = son1.getTextContent();
//System.out.println(name2) // using this can get huing
}
这是我的XML文件,我无法使用第一个打印件获取名称。我不知道为什么 在name2中我可以得到ihuing,在名称1但是答案是什么
答案 0 :(得分:0)
名称不是属性,它是子元素。如果您知道总有一个具有该名称的后代(不仅仅是孩子!),您可以执行以下操作,您的架构建议:
String nameValue = et.getElementsByTagName("name").item(0).getTextContent();
澄清符号
<linkman id="5"> // linkman - element, id - attribute
<name>Will</name> // element, child of linkman element
<something> // element, child of linkman element, parent of nestedSomething, ancestor of nestedSomething text node
<nestedSomething> // element, child of something, descendant of linkman
blablabla
</nestedSomething>
</something>
</linkman>
所有的孩子都是后代,所有的父母都是祖先。