我想解析一堆文件夾中的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雖然 –