使用XPath: public static void main(String[] args) throws JDOMException, IOException
{
SAXBuilder builder = new SAXBuilder();
Document doc = builder.build(new File("abc.xml"));
Text txt = (Text) XPath.selectSingleNode(doc,"gmd:message/gmd:yxxid/text()");
        System.out.println(txt.getText());
}
abc.xml:<?xml version="1.0" encoding="UTF-8"?>
<gmd:message xmlns:gmd="http://xxxx.xxxx.xxx">   
        <gmd:yxxid>1</gmd:yxxid>   
        <gmd:content>   
                    <gmd:result>   
                    <gmd:XTMC>实施曲线</gmd:XTMC>   
                    </gmd:result>   
                    <gmd:result>   
                    <gmd:XTMC>井筒曲线</gmd:XTMC>   
                    </gmd:result>   
        </gmd:content>   
</gmd:message>   

解决方案 »

  1.   

    import java.io.File;
    import java.io.IOException;
    import org.jdom.Document;
    import org.jdom.Element;
    import org.jdom.JDOMException;
    import org.jdom.Text;
    import org.jdom.input.SAXBuilder;
    import org.jdom.xpath.XPath;
      

  2.   

    JDOM本身支持命名空间的提取,在取节点时再带上命名空间这个参数即可。
      

  3.   

    确实用Xpath就行了XPath xpath = XPath.newInstance("/gmd:content/gmd:result");//路径
    以下是添加名称空间的代码
    xpath.addNamespace("gmd", "http://www.isotc211.org/2005/gmd");
    Namespace ns = Namespace.getNamespace("gmd", "http://www.isotc211.org/2005/gmd");
    Element linkage = (Element) xpath.selectSingleNode(jdoc);
    Element URL     = new Element("URL",ns);
    linkage.addContent(URL);
    URL.setText(link);