正则表达式解析xml?

lyp_2008001 2009-11-19 12:33:10
RT
有没有源码实例!
谢谢!
...全文
588 15 打赏 收藏 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
lyp_2008001 2009-11-25
  • 打赏
  • 举报
回复
顶!
lyp_2008001 2009-11-20
  • 打赏
  • 举报
回复
谢谢大家的帮助!用楼上的代码我运行了一遍,出现如下的错误提示:
[Fatal Error] 0.xml:405:53: The entity name must immediately follow the '&' in the entity reference.
wmlearnjava 2009-11-20
  • 打赏
  • 举报
回复
楼主不要用正则表达式解析,用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{
}
}
}
}
}



closewbq 2009-11-19
  • 打赏
  • 举报
回复
有,好几个呢,DOM,jdom,dom4j。。
哈哈!
Taiyangchen 2009-11-19
  • 打赏
  • 举报
回复
貌似不行吧

  • 打赏
  • 举报
回复
受不了!
justinavril 2009-11-19
  • 打赏
  • 举报
回复
不是有dom4j这样的解析xml文件的包么 干嘛非要用正则?
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 lyp_2008001 的回复:]
因为我的那个xml文档格式不规范,一般的解析器会出错。所以得需要用正则表达式处理!
[/Quote]

解析器会报错的话,那说明那个根本就不是 XML!
machiatto19881031 2009-11-19
  • 打赏
  • 举报
回复
我就会用dom4j解析xml

没试过用正则...楼主自己写个试试吧...祝好运
lyp_2008001 2009-11-19
  • 打赏
  • 举报
回复
因为我的那个xml文档格式不规范,一般的解析器会出错。所以得需要用正则表达式处理!
苍蝇①号 2009-11-19
  • 打赏
  • 举报
回复
正则表达式只能自己搞定了
justinavril 2009-11-19
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 lyp_2008001 的回复:]
由于我的xml编码格式有点问题,不能用一般的xml解析器进行解析。所以只好采用正则来处理!
[/Quote]
那你也不把你原来xml什么样 想要什么样的跟大伙儿说 谁知道能怎么办呢?
Bruce__007 2009-11-19
  • 打赏
  • 举报
回复
推荐不要用正则解析XML,用dom4j多好啊...
ican_areyou 2009-11-19
  • 打赏
  • 举报
回复
貌似没有, 要自己动手写了.
lyp_2008001 2009-11-19
  • 打赏
  • 举报
回复
由于我的xml编码格式有点问题,不能用一般的xml解析器进行解析。所以只好采用正则来处理!

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧