Я пытаюсь разобрать кучу xml-файлов из папки и возвращать все теги, которые содержат определенное выражение. Ниже то, что я сделал,xml parse string match 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();
}
}
}
Как сделать I цикл через все теги в каждом XML и возвращает теги, которые содержат выражение «/ сервер [^ <] *».
Любая помощь очень ценится.
Michael, мой вопрос будет точным искать текст между тегами и возвращать теги вместе с текстом, если они совпадают. В приведенном выше кодовом имени будет поиск только тэгов? – cartman
@cartman Посмотрите мое обновление. –
Этот ответ выглядит по большей части, только одна вещь. Если регулярное выражение не изменяется, тогда более эффективно создавать (статический final) 'Pattern' один раз, а не использовать' String # matches', который внутренне создает новый вызов «Pattern» и «Matcher». +1 хотя –