正则表达式解析xml? RT有没有源码实例!谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不是有dom4j这样的解析xml文件的包么 干嘛非要用正则? 有,好几个呢,DOM,jdom,dom4j。。哈哈! 由于我的xml编码格式有点问题,不能用一般的xml解析器进行解析。所以只好采用正则来处理! 推荐不要用正则解析XML,用dom4j多好啊... 那你也不把你原来xml什么样 想要什么样的跟大伙儿说 谁知道能怎么办呢? 因为我的那个xml文档格式不规范,一般的解析器会出错。所以得需要用正则表达式处理! 我就会用dom4j解析xml没试过用正则...楼主自己写个试试吧...祝好运 解析器会报错的话,那说明那个根本就不是 XML! 楼主不要用正则表达式解析,用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{ } } } } } 谢谢大家的帮助!用楼上的代码我运行了一遍,出现如下的错误提示:[Fatal Error] 0.xml:405:53: The entity name must immediately follow the '&' in the entity reference. 为什么调用没有反映?先谢谢了 ibm wacs架构谁介绍一下 帮忙写一个java程序 用JB的design模式的问题 Java语言导学 求助关于JMF 求客户端,服务器端简单的连接程序: 麻烦高手看看:在静态回调函数里刷新JTextArea的内容没响应 请问tomcat与apache是什么关系? jakarta又是什么? 问一个超级菜的问题:java中怎样弹出一个信息框,就像VB的messagebox一样? 怎样得到一个对象的对象名 有人做过怎么实现数据库吗?有几个问题大家讨论下
哈哈!
解析器会报错的话,那说明那个根本就不是 XML!
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{
}
}
}
}
}
[Fatal Error] 0.xml:405:53: The entity name must immediately follow the '&' in the entity reference.