<question>
<url>http://zhidao.baidu.com/question/93954381.html</url>
<qtitle>羽毛球PVC塑胶地板能&&比赛吗?</qtitle>
<qcontent>使用羽毛球PVC塑胶地板能比赛吗? </qcontent>
<answernum>5</answernum>
<bestanswer>0</bestanswer>
<asker>健身健康生活</asker>
</question>
以上是我的xml文件,我在用正则进行匹配的时候。
写成这样可以匹配成功:Pattern myPattern=Pattern.compile("<url>(.*?)</url>");
但是写成这样:Pattern myPattern=Pattern.compile("<question>(.*?)</question>");就什么也匹配不上。
为什么呢?import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.regex.Matcher;
import java.util.regex.Pattern;public class RegexXml {
private static String myXml="";
private static String myXmlReader;
public static String getInfo(String tmpFile) throws IOException {
StringBuffer sbFile;
FileReader in = new FileReader(tmpFile);
char[] buffer = new char[4096];
int len;
sbFile = new StringBuffer();
while ((len = in.read(buffer)) != -1) {
String s = new String(buffer, 0, len);
sbFile.append(s);
}
return sbFile.toString();
} public static void main(String args[]){
String filePath = "D:/AxiomDemo/xmlfile/00.xml";
try {
myXmlReader=getInfo(filePath);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String myRegex="<url>(.*?)</url>";
String myGroup="";
Pattern myPattern=Pattern.compile(myRegex);
Matcher myMatcher=myPattern.matcher(myXmlReader);
while (myMatcher.find()){
myGroup=myMatcher.group();
System.out.println(myGroup);
}
}
}
<url>http://zhidao.baidu.com/question/93954381.html</url>
<qtitle>羽毛球PVC塑胶地板能&&比赛吗?</qtitle>
<qcontent>使用羽毛球PVC塑胶地板能比赛吗? </qcontent>
<answernum>5</answernum>
<bestanswer>0</bestanswer>
<asker>健身健康生活</asker>
</question>
以上是我的xml文件,我在用正则进行匹配的时候。
写成这样可以匹配成功:Pattern myPattern=Pattern.compile("<url>(.*?)</url>");
但是写成这样:Pattern myPattern=Pattern.compile("<question>(.*?)</question>");就什么也匹配不上。
为什么呢?import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.regex.Matcher;
import java.util.regex.Pattern;public class RegexXml {
private static String myXml="";
private static String myXmlReader;
public static String getInfo(String tmpFile) throws IOException {
StringBuffer sbFile;
FileReader in = new FileReader(tmpFile);
char[] buffer = new char[4096];
int len;
sbFile = new StringBuffer();
while ((len = in.read(buffer)) != -1) {
String s = new String(buffer, 0, len);
sbFile.append(s);
}
return sbFile.toString();
} public static void main(String args[]){
String filePath = "D:/AxiomDemo/xmlfile/00.xml";
try {
myXmlReader=getInfo(filePath);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String myRegex="<url>(.*?)</url>";
String myGroup="";
Pattern myPattern=Pattern.compile(myRegex);
Matcher myMatcher=myPattern.matcher(myXmlReader);
while (myMatcher.find()){
myGroup=myMatcher.group();
System.out.println(myGroup);
}
}
}
解决方案 »
- java 单例类 总是出问题:可以在 类中访问private
- 又一个php 换成 java 的问题
- DateFormat 类的parse()方法问题
- 这个关于++操作的怎么理解?
- 如何向文件写入一个转行符?
- AWT中有没有类似于SWing的标签面板(就是可以切换面板)类呀?
- ?如何做菜单[Edit]->[Cut],使 [cut]动作支持 Ctrl + X ?
- 轻轻的,问个小问题,小问题...
- !!!!!!!java程序编辑工具评比!!!!!!!
- java JNI方式调用C 报错UnsatisfiedLinkError
- 实现互动效果,给些建议
- java.net.BindException:Address already in use:JVM_Bind
不过我还有一个问题,“<qtitle>羽毛球PVC塑胶地板能&&比赛吗?</qtitle>”,我想通过正则表达式,把“&&”这个字符给替换掉!能实现吗?