谁能提供个思路给我,怎么解析“带注释的XML”例如:<!-- 财务数据的导入-->
<?xml version="1.0" encoding="GBK"?>
<Excel>
     <table>
          <tablename>Table1</tablename>
          <field>
               &lt;!-- 字段field1--&gt;
               <tablename name="field1" />
               &lt;!-- 字段field2--&gt;
               <tablename name="field2" />
          </field>
     </table>
     <table>
          <tablename>Table1</tablename>
          <field>
               &lt;!-- 字段field1--&gt;
               <tablename name="field1" />
               &lt;!-- 字段field2--&gt;
               <tablename name="field2" />
          </field>
     </table>
</Excel>
<!-- 财务数据的导入-->
<!-- 字段field1-->  <fieldname name="field1"/>
<!-- 字段field2-->  <fieldname name="field2"/>
注意加红的文字。我主要问的是怎么以上面的格式存xml,再怎么读出来。要的是注释。不是节点。
还有发绿的地方要下面这种格式保存
“<!-- 字段field1-->”
“<!-- 字段field2-->” 
请问各位,我应该怎么去实现呢?给个思路。在线急等。 
我主要用的是jdom解析,导入了四个jar包.jaxen-core.jar,jaxen-jdom.jar,jdom.jar,saxpath.jar当然可以用其他的解析方法。比如,dom4j,sax,dom,或者其他的也可以。
import java.io.FileWriter;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.output.Format;
import org.jdom.output.XMLOutputter;
public class WriteXML {
    public static void main(String[] args) throws Exception {
       
     String[] nodes={"Excel","table","tablename","field","fieldname","comment"};
        String[] attr={"name"};
        Element  root = new Element(nodes[0]); //生成根元素
        Document doc = new Document(root); //将根元素植入文档doc中      
        int length=2;      
        for(int i=0;i<length;i++){      
        Element  table = new Element(nodes[1]);
        Element  tablename = new Element(nodes[2]);
        Element  field = new Element(nodes[3]);       
        table.addContent(tablename.setText("Table1")); 
        field.addContent("<!-- 字段field1-->");
        field.addContent(new Element(nodes[2]).setAttribute(attr[0],"field1"));      
        field.addContent("<!-- 字段field2-->");
        field.addContent(new Element(nodes[2]).setAttribute(attr[0],"field2"));      
        table.addContent(field);      
        root.addContent(table);
        } 
        Format format = Format.getCompactFormat();
        format.setEncoding("GBK"); //设置XML文件的字符为GBK
        format.setIndent("     "); //设置XML文件的缩进为4个空格
        XMLOutputter XMLOut = new XMLOutputter(format);//元素后换行一层元素缩四格 
        //XMLOut.output(doc, new FileOutputStream("excel.xml")); 
        //XMLOutputter 还可输出到 Writer 或 OutputStream
        FileWriter writer = new FileWriter("excel.xml");        
        writer.write("<!-- 财务数据的导入-->");
        String nextLine = System.getProperty("line.separator");
        writer.write(nextLine);
        XMLOut.output(doc, writer);
        writer.close();
}
}

解决方案 »

  1.   


    <!-- 财务数据的导入-->
    <?xml version="1.0" encoding="GBK"?>
    <Excel>
         <table>
              <tablename>Table1</tablename>
              <field>
                   <!-- 字段field1-->  <tablename name="field1" />
                   <!-- 字段field2-->  <tablename name="field2" />
              </field>
         </table>
         <table>
              <tablename>Table1</tablename>
              <field>
                   <!-- 字段field1-->  <tablename name="field1" />
                   <!-- 字段field2-->  <tablename name="field2" />
              </field>
         </table>
    </Excel>
      

  2.   

    把xml转为String然后用正则匹配把注释找出来。