解决方案 »

  1.   

    这个XXX是个数组或者集合的话,也是用字符串去拼,自己拟定格式,解析xml时候,按格式去解析字符串就可以了
      

  2.   


    能不能写个例子呢?生成这个xml和解析它。
      

  3.   

    lz可以用一下common-configuration组件,下载地址www.apache.org。目测不会超过20行代码可以解决。
      

  4.   

    生成xml的帮你写了个,解析的就按照上面的回复自己写吧。package com.sean.xml;import java.io.File;
    import java.util.HashMap;
    import java.util.Iterator;
    import java.util.Map;
    import java.util.Map.Entry;
    import java.util.Set;import javax.xml.parsers.DocumentBuilder;
    import javax.xml.parsers.DocumentBuilderFactory;
    import javax.xml.parsers.ParserConfigurationException;
    import javax.xml.transform.Transformer;
    import javax.xml.transform.TransformerFactory;
    import javax.xml.transform.dom.DOMSource;
    import javax.xml.transform.stream.StreamResult;import org.w3c.dom.Attr;
    import org.w3c.dom.Document;
    import org.w3c.dom.Element;public class XmlCreater {    private Document doc = null;
        
        /**
         * 创建xml文档
         * @return
         */
        {
            DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
            DocumentBuilder docBuilder = null;
            try {
                docBuilder = docFactory.newDocumentBuilder();
                doc = docBuilder.newDocument();
            } catch (ParserConfigurationException e) {
                System.out.println(e.getMessage());
                System.exit(-1);
            }  
            
        }
            /**
         * 创建一个元素
         * 
         * @param elementName
         *            元素节点的名称
         * @param attrMap
         *            元素节点里面包含的属性
         */
        private Element createElement(String elementName, Map<String,String> attrMap) {
            if(doc == null){
                throw new RuntimeException("Please create document at first");
            }
            Element element = doc.createElement(elementName);
            Set<Entry<String,String>> attrEntrySet = attrMap.entrySet();
            for(Iterator<Entry<String,String>> iter = attrEntrySet.iterator();iter.hasNext();){
                Entry<String, String> entry = iter.next();
                String attrName = entry.getKey();
                String attrValue = entry.getValue();
                Attr attr = doc.createAttribute(attrName);
                attr.setValue(attrValue);
                element.setAttributeNode(attr);
            }
            return element;
        }
        
        
        public Document getDocument(){
            return this.doc;
        }
        
        
        
        public static void main(String[] args) throws Exception {
            XmlCreater creater = new XmlCreater();
            Map<String,String> attrNameValueMap = new HashMap<String,String>();
            
            attrNameValueMap.put("name", "xxx");
            attrNameValueMap.put("package", "xxx");
            attrNameValueMap.put("permission", "xxx");
            Element root = creater.createElement("interface", attrNameValueMap);
            
            
            attrNameValueMap.clear();
            attrNameValueMap.put("name", "xxx");
            attrNameValueMap.put("parameter", "xxx");
            Element method1 = creater.createElement("method", attrNameValueMap);
            
            
            attrNameValueMap.clear();
            attrNameValueMap.put("name", "xxx");
            attrNameValueMap.put("parameter", "xxx");
            Element method2 = creater.createElement("method", attrNameValueMap); 
            
            
            root.appendChild(method1);
            root.appendChild(method2);
            
            Document doc = creater.getDocument();
            doc.appendChild(root);
            
            TransformerFactory transformerFactory = TransformerFactory.newInstance();
            Transformer transformer = transformerFactory.newTransformer();
            DOMSource source = new DOMSource(doc);
            StreamResult result = new StreamResult(new File("D:\\file.xml"));
     
            transformer.transform(source, result);
     
            System.out.println("XML File created!");
            
        }
        
    }