2012-05-28 183 views
2

我正在尝试使用“node.getNodeName()”从XML文件中检索所有节点的名称。在这样做的时候,每个节点名称前面都会跟着“#text”。因此,我没有得到确切的节点数。我想在检索名称时删除“#text”。我怎么做??检索XML节点名称

+0

如果你想要更快的反馈,你最好用“java”来标记这个问题;) – javatutorial

+0

我用SAXBuilder ..它工作正如我想.. – varsha

回答

10

随着指出:

package com.hum; 

import java.io.InputStreamReader; 
import java.io.StringReader; 
import javax.xml.parsers.DocumentBuilderFactory; 
import org.w3c.dom.Document; 
import org.w3c.dom.NodeList; 
import org.xml.sax.InputSource; 

/** 
* 
* @author herve 
*/ 
public class PrintNameXML 
{ 
    public static void main(String[] args) throws Exception 
    { 
    String xml = "<a><o><u>ok</u></o></a>"; 
    Document doc = 
    DocumentBuilderFactory 
    .newInstance() 
    .newDocumentBuilder() 
    .parse(new InputSource(new StringReader(xml))); 
    NodeList nl = doc.getElementsByTagName("*"); 
    for (int i = 0; i < nl.getLength(); i++) 
    { 
     System.out.println("name is : "+nl.item(i).getNodeName()); 
    } 
    } 
} 

我得到:

name is : a 
name is : o 
name is : u 

是你搜索?

+0

是的,这正是我想要的..非常感谢! ! – varsha