2012-05-28 222 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