RT
有没有源码实例!
谢谢!

解决方案 »

  1.   

    不是有dom4j这样的解析xml文件的包么 干嘛非要用正则?
      

  2.   

    有,好几个呢,DOM,jdom,dom4j。。
    哈哈!
      

  3.   

    由于我的xml编码格式有点问题,不能用一般的xml解析器进行解析。所以只好采用正则来处理!
      

  4.   

    推荐不要用正则解析XML,用dom4j多好啊...
      

  5.   

    那你也不把你原来xml什么样 想要什么样的跟大伙儿说 谁知道能怎么办呢?
      

  6.   

    因为我的那个xml文档格式不规范,一般的解析器会出错。所以得需要用正则表达式处理!
      

  7.   

    我就会用dom4j解析xml没试过用正则...楼主自己写个试试吧...祝好运
      

  8.   


    解析器会报错的话,那说明那个根本就不是 XML!
      

  9.   

      楼主不要用正则表达式解析,用Dom 比DOM4j这些简单 我发段代码给你 希望能够帮你!  
    import java.io.File;
    import java.util.HashMap;
    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.Element;
    import org.w3c.dom.Node;
    import org.w3c.dom.NodeList;public class DomparseXml {
    public static void main(String args[]) throws Exception{      DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
      DocumentBuilder db = dbf.newDocumentBuilder(); 
      Document document = db.parse("D:\\workspace\\oa\\WebRoot\\monitor.cfg.xml");
      Node root = document.getFirstChild();
      NodeList list1 = root.getChildNodes();
      for(int i = 0 ;i<list1.getLength();i++){ 
      Node node = list1.item(i); 
      if(node.getNodeType()==Node.ELEMENT_NODE){
      System.out.println(node.getNodeName());
         if(node.hasChildNodes()){  
              NodeList list2 = node.getChildNodes(); 
             for(int a = 0 ;a<list2.getLength();a++){
             Node node2 = list2.item(a); 
             if(node2.getNodeType()==Node.ELEMENT_NODE){
                 System.out.print(node2.getNodeName());
                 System.out.print("---"+node2.getFirstChild().getTextContent());
                 System.out.println();  
             }        
              }              
          }else{
          } 
      }  
       }  

     } 
      

  10.   

    谢谢大家的帮助!用楼上的代码我运行了一遍,出现如下的错误提示:
    [Fatal Error] 0.xml:405:53: The entity name must immediately follow the '&' in the entity reference.