在Excel文件中,行A有8000列,每列都有xml,如下所示。因此,我需要读取整个文件并只写入每列中的phoneNumber。正在读取具有xml内容并尝试只写需要的内容的CSV文件。我正在使用StringTokenizer
OutputElements: <?xml version="1.0" encoding="UTF-8" standalone="yes"?><ns2:xxxxxxxx xmlns:ns2="http://webservice.com/"><ns2:xxxxxxx><ns2:xxxxxx><?xml version="1.0" encoding="UTF-8" standalone="yes"?><xxxxxxxx;<xxxxxxxxxx keyword="TEXT" phoneNumber="+123456789" pinNumber=123456 /></xxxxxxxxxxx><;</ns2:xxxxxxxxx><ns2:messageType>xxxxxxxxxxxxxxxx</ns2:messageType><ns2:xxxxxxx>3456</ns2:xxxxxxx><ns2:id>xxxxxxx</ns2:id></ns2:xxxxxxxx></ns2:xxxxxxxxx>
我的代码:
BufferedReader reader = new BufferedReader(new FileReader(file));
String line = null;
String isPhoneNumber ="phoneNumber=";
while((line = reader.readLine()) != null){
Matcher matcher = pattern.matcher(isPhoneNumber);
StringTokenizer st = new StringTokenizer(line,"");
while(st.hasMoreElements() || matcher.equals(isPhoneNumber)){
System.out.println("OutputElements: " +st.nextElement());
}
}
reader.close();
我在读文件。我只需要输出phoneNumber ='123456789'作为输出。 SubString在我心中,我也需要使用REGEX,Matchers和Patterns。有人能帮我吗?
如果它是一个xml那么你为什么不使用解析器,是否比这更重。 – xTroy
在Excel文件中,行A有8000列,每列都有xml。因此,我需要读取整个文件并只写入phoneNumber。 – VBR