我想解析一堆文件夹中的xml文件,并返回包含特定表达式的所有标记。下面是我做什么,xml解析字符串匹配Java
public class MyDomParser {
public static void main(String[] args) {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
try {
File folder = new File("C:\\Users\\xmlfolder");
DocumentBuilder builder = factory.newDocumentBuilder();
for(File workfile : folder.listFiles()){
if(workfile.isFile()){
Document doc = builder.parse(workfile);
}
}
}
} catch (ParserConfigurationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SAXException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
我如何遍历每个XML的所有标签,并返回包含表达式“/服务器[^ <] *”标记。
任何帮助,非常感谢。
迈克尔,我的问题是确切的是搜索标签之间的文本,并返回标签和文本,如果他们匹配。在上面的代码名称中只会搜索标记名? – cartman
@cartman查看我的更新。 –
这个答案大部分看起来不错,只是一件事 - 如果正则表达式没有改变,那么创建一次(静态最终)'Pattern'会更有效率,而不是使用'String#matches',这会在内部创建每次调用一个新的'Pattern'和'Matcher'。 +1虽然 –