我写的bean  public void readxmlfile(String inFile)throws Exception{
    DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();
    DocumentBuilder db=null;
    try {
      db=dbf.newDocumentBuilder();
    }
    catch(ParserConfigurationException pce){
      System.err.println(pce);
      System.exit(1);
    }
    Document doc=null;
    try{
      doc=db.parse(inFile);
    }
    catch(DOMException dom){
      System.err.println(dom.getMessage());
      System.exit(1);
    }
    catch(IOException ioe){
      System.err.println(ioe);
      System.exit(1);
    }
  //以上的程序测试通过。可以通过其它函数得到root的结点数
  //解析读入的xml文件
  Element root=doc.getDocumentElement();
  //
  下面就不会了。如何才能取得一个结点的值呢。比如param-value中的值是OASSupport?}

解决方案 »

  1.   

    good good studay! and day day up!:D
      

  2.   

    使用dom解析代码片断如下:
    -----------
    Element element = document.getDocumentElement();
                NodeList nodelist = element.getElementsByTagName("field");
                for(int i=0;i<nodelist.getLength();i++) {
                    Element subelement =(Element)nodelist.item(i);
                    NodeList nodelists = subelement.getElementsByTagName("name");
                    for(int j=0;j<nodelists.getLength();j++) {
                        Node nextNode;
                        nextNode =  nodelists.item(j).getFirstChild();
                        while(nextNode != null) {
                            if(nextNode.getNodeType() == Node.TEXT_NODE)
                                fields.add(nextNode.getNodeValue());
                            nextNode = nextNode.getNextSibling();
                        }
                    }
                }-----------------------------------Element element = document.getDocumentElement();
            Node nextNode = element.getFirstChild();
            while (nextNode != null) {
                if(nextNode.getNodeName() == "name") {
                    Node firstChild = nextNode.getFirstChild();
                    voName = firstChild.getNodeValue();
                    break;
    }
    nextNode = nextNode.getNextSibling();
    }
    --------------------------
    最好还是使用apache的commons子项目下的digester比较好,tomcat中xml配置文件的解析就是用它做的!
      

  3.   

    doc.getElementByTagName()
    用這個方法,具體查以下api幫助就可以了,忘了
      

  4.   

    Element root=doc.getDocumentElement();
    同志们,我的根结点得到了呀。关键是下面的结点得不到任何信息呀!
      

  5.   

    windmagin,您好,很抱歉在这里问你这个问题,打扰了
    搜索时看到以前好象问过POWERERP的有关问题,但看不到里面的回答。(是不是很久以前的帖子看不了的?)
    powererp 这个软件到底有没有用?网上已经卖了很久了,才2000元带原代码,您见过程序吗?是不是骗人的啊?希望你能告诉我,我非常急,实在是太谢谢了。
    =====================================================
    你的 getdocumentElement()的问题,下面的结点是不是用getFirstChild() 啊?
    我对这个也不太了解,再帮你问问同事
      

  6.   

    象ludaofxd()的代码里就很清楚了啊。
      

  7.   

    Set MyArrayXML= objXMLDoc.documentElement.selectNodes("web-app/context-param") 
    for(var i=0;i<MyArrayXML.length;i++){
    param-name=MyArrayXML[i].getAttribute("param-name");
    param-value=MyArrayXML[i].getAttribute("param-value");

    }
      

  8.   

    private static int getGenerateDD(){
    String temp;
    try{
    NodeList lists =doc.getElementsByTagName("param-name"); 
    temp=lists.item(0).getFirstChild().getNodeValue())
    }catch(Exception e){
    System.out.println();
    }
    }
      

  9.   

    xml parser实现版本很多,sun,apache都有,下载一份API文档看看就行了
      

  10.   

    windmagin,关于我问的问题,如果可以告诉我的话,给我发邮件好吗?谢谢了![email protected]:51837384