如xml文档  
<a>
<b>
123
</b>
</a>当得到元素a后,如何得到此元素包含的所有内容?
用什么包可以实现?

解决方案 »

  1.   

    dom4j里面的文本也是一个孩子元素
      

  2.   

    用jdom或者dom4j都可以简简单单的实现的,祝你成功啊~他们的操作都是很简单的,只要到网上看一下简单的实例你马上就会明白并且掌握的,
      

  3.   

    我在我的BLOG里写一篇关于JAVA读XML的文章,很简单的那种,你可以看看
    http://blog.csdn.net/ayueiloveyou/archive/2008/05/17/2454931.aspx
      

  4.   

    public class DuXMLDoc {
        public List xmlElements(String xmlDoc) {
            //创建一个新的字符串
            StringReader read = new StringReader(xmlDoc);
            //创建新的输入源SAX 解析器将使用 InputSource 对象来确定如何读取 XML 输入
            InputSource source = new InputSource(read);
            //创建一个新的SAXBuilder
            SAXBuilder sb = new SAXBuilder();
            try {
                //通过输入源构造一个Document
                Document doc = sb.build(source);
                //取的根元素
                Element root = doc.getRootElement();
                System.out.println(root.getName());//输出根元素的名称(测试)
                //得到根元素所有子元素的集合
                List jiedian = root.getChildren();            Element et = null;
                
                et = (Element) jiedian.get(0); 
                // 这个地方没有子元素,类似这样的<adcontent_url>url</adcontent_url>用下面的方法取得
                et.getChildTextTrim("op_id")

                
                List zjiedian = et.getChildren();            for(int j=0;j<zjiedian.size();j++){
                    // 这是有子元素的
                    Element xet = (Element) zjiedian.get(j);
                    System.out.println(xet.getName());
                    // 获得子元素adpos_code的值。
                    xet.getChildTextTrim("adpos_code")
                }

            } catch (JDOMException e) {
                // TODO 自动生成 catch 块
                e.printStackTrace();
            } catch (IOException e) {
                // TODO 自动生成 catch 块
                e.printStackTrace();
            }
            return null;
        }
      

  5.   

    w3c和dom4j都可以,网上好多例子了,很简单
      

  6.   

    import java.io.FileInputStream;
    import java.util.HashMap;
    import java.util.Iterator;
    import java.util.Map;
    import java.util.Set;import javax.xml.parsers.DocumentBuilder;
    import javax.xml.parsers.DocumentBuilderFactory;import org.w3c.dom.Document;
    import org.w3c.dom.Node;
    import org.w3c.dom.NodeList;
    public class LoadXml ...{    /** *//**
         * @param args
         * @throws Exception 
         */
        public static void main(String[] args) throws Exception ...{
            // TODO Auto-generated method stub
            //从 XML 文档获取 DOM 文档实例。使用此类,应用程序员可以从 XML 获取一个Document
            DocumentBuilder db=DocumentBuilderFactory.newInstance().newDocumentBuilder();
            FileInputStream in=new FileInputStream("F:\wrokspace\learnspring\src\ch7\111.xml");
            Document document=db.parse(in);
            NodeList nl=document.getElementsByTagName("a");
            showElem(nl);        
            in.close();
        }
        /** *//**
         * 通过递归得到所有子节点
         * @param nl
         */
        public static void showElem(NodeList nl)...{
            for(int i=0;i<nl.getLength();i++)...{
                Node n=nl.item(i);
                if(n.hasChildNodes())...{
                    System.out.print("<"+n.getNodeName()+">");
                    //递归
                    showElem(n.getChildNodes());
                    System.out.print("</"+n.getNodeName()+">");
                }else...{
                    //判断是不是文本
                    if(n.getNodeType()==Node.TEXT_NODE)...{
                        System.out.print(n.getNodeValue());
                    }else...{
                        System.out.print("<"+n.getNodeName()+">");
                        System.out.print("</"+n.getNodeName()+">");
                    }
                    break;
                }
            }
        }}
      

  7.   

    呵呵,好久没做过xml的解析了。
    1、用java解析XML可以将XML转化为DOM对象或者SAX对象。这两种解析方式的异同可以google一下,很多解释。
    2、至于我们平时使用的jdom dom4j等,他们内部的实现是DOM和SAX混合起来的,并且封装了具体的实现细节,而只需要使用jdom dom4j等提供给我们的方法就可以了。解答:
        XML已经被jdom dom4j等进行了处理了,得到某个节点(元素)innerHTML的功能的话就要看这些开源框架有没有提供了相应的功能了,查一下API手册,应该能得到答案。