JDOM解析:
    logger.info("开始解析businessfactoryname.xml文件......");
    SAXBuilder sax = new SAXBuilder();
    try {
      Document doc = sax.build(path);
      Element ele = doc.getRootElement();
      logger.info("得到了根元素:" + ele.getName());
      List list = ele.getChildren("factory-str-content");      Iterator it = list.iterator();
      while (it.hasNext()) {        Element element = (Element) it.next();
        String key=element.getChild("content-key").getTextTrim();
        String value=element.getChild("content-value").getTextTrim();
        BusinessFactoryName.factoryname.put(key,value);
      }
      logger.info("解析businessfactory.xml文件完成......");
    }
    catch (Exception ex) {
      logger.info("BusinessFactory_XML异常......");
      ex.printStackTrace();
    }
businessfactory.xml文件:
<?xml version="1.0" encoding="gbk"?>
<factory-str>
<factory-str-content>
<description>登陆业务类工厂</description>
<content-key>LOGIN_FACTORY</content-key>
<content-value>com.friend.factory.LoginFactory</content-value>
</factory-str-content>
<factory-str>

解决方案 »

  1.   

    DOM4J- -
                                           /**
     *这里是一个利用DOM4J修改xml文件的例子
     *
     */
    import org.dom4j.Document;
    import org.dom4j.Element;
    import org.dom4j.Attribute;
    import java.util.List;
    import java.util.Iterator;
    import org.dom4j.io.XMLWriter;
    import java.io.*;
    import org.dom4j.DocumentException;
    import org.dom4j.io.SAXReader; public class Dom4JUp{ public void modifyDocument(File inputXml){
      try{
       SAXReader saxReader = new SAXReader();
       Document document = saxReader.read(inputXml);   /**
         *inputXml 是从 D:/DOM4JText/4j.xml 创建的 java.io.File。
      *使用 XPath 表达式从 article 元素中获得 level 节点列表。
      *如果 level 属性值是“Intermediate”则改为“Introductory”。 
      */
       List list = document.selectNodes("//article/@level" );
       Iterator iter=list.iterator();
       while(iter.hasNext()){
        Attribute attribute=(Attribute)iter.next();
        if(attribute.getValue().equals("Intermediate"))
          attribute.setValue("Introductory");        }   list = document.selectNodes("//article/@date" );
       iter=list.iterator();
       while(iter.hasNext()){
        Attribute attribute=(Attribute)iter.next();
        if(attribute.getValue().equals("December-2001"))
          attribute.setValue("October-2002");       }
     /**
      *获取 article 元素列表,
      *从 article 元素中的 title 元素得到一个迭代器,
      *并修改 title 元素的文本
      *
      */   list = document.selectNodes("//article" );
       iter=list.iterator();
       while(iter.hasNext()){
        Element element=(Element)iter.next();
        Iterator iterator=element.elementIterator("title");
          while(iterator.hasNext()){
            Element titleElement=(Element)iterator.next();
            if(titleElement.getText().equals("Java configuration with XML Schema"))
            titleElement.setText("Create flexible and extensible XML schema");                                          }                                }    list = document.selectNodes("//article/author" );
        iter=list.iterator();
         while(iter.hasNext()){
         Element element=(Element)iter.next();
         Iterator iterator=element.elementIterator("firstname");
         while(iterator.hasNext()){
          Element firstNameElement=(Element)iterator.next();
          if(firstNameElement.getText().equals("Marcello"))
          firstNameElement.setText("Ayesha");
                                         }                              }    list = document.selectNodes("//article/author" );
        iter=list.iterator();
         while(iter.hasNext()){
          Element element=(Element)iter.next();
          Iterator iterator=element.elementIterator("lastname");
         while(iterator.hasNext()){
          Element lastNameElement=(Element)iterator.next();
          if(lastNameElement.getText().equals("Vitaletti"))
          lastNameElement.setText("Malik");                                  }                               }
         XMLWriter output = new XMLWriter(
          new FileWriter( new File("D:/DOM4JText/Dom4jupdate.xml") ));
         output.write( document );
         output.close();
       }
     
      catch(DocumentException e)
                     {
                      System.out.println(e.getMessage());
                                }  catch(IOException e){
                           System.out.println(e.getMessage());
                        }
     } public static void main(String args[]){ Dom4JUp dom4jupdate=new Dom4JUp();
     File file=new File("D:/DOM4JText/4j.xml");
     try{ dom4jupdate.modifyDocument(file);
     }catch(Exception e){}     }
    }
      

  2.   

    先生成XML然后在解吸啊。呵呵。不过先给你们发点分。在我写点吧。呵呵
      

  3.   

    import org.jdom.Document;
    import org.jdom.Element;
    import org.jdom.input.SAXBuilder;
    import org.jdom.output.*;
    import java.io.StringReader;
    import java.io.Reader;
    import java.util.Vector;public String ReadXml(String strXml,String strName) throws Exception{

    String strPar = strName;
    Vector vecName = new Vector();

    String strValue = "";
    Reader in= new StringReader(strXml);
    SAXBuilder sb=new SAXBuilder();
    Document doc=sb.build(in);

    while(strPar.indexOf(".")!=-1) {
    vecName.add(strPar.substring(0,strPar.indexOf(".")));
    strPar = strPar.substring(strPar.indexOf(".")+1);
    }

    vecName.add(strPar); Element root = doc.getRootElement(); //ROOTの取得
    if(vecName.size()!=0) {
    Element item = root.getChild((String)vecName.get(0));
    for(int i=0;i<vecName.size();i++) {
    if(i!=0) {
    if(item == null) break; 
    item = item.getChild((String)vecName.get(i));
    }
    }

    if(item!=null) {
    strValue = item.getText();
    }
    } return strValue;
    }
      

  4.   

    恩,我写的是一个方法,传得参数是XML字符串,和要取得字段,字段要全的
      

  5.   

    XML有字串的,也有文件的,看你用哪种吧