私はフォルダから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内のすべてのタグを通じてIループを行うと、「/サーバ[^ <] *」表現が含まれているタグを返します。
ご迷惑をおかけして申し訳ありません。
マイケル、正確には私の質問は、タグ間のテキストを検索し、一致する場合はテキストとともにタグを返します。上記のコード名では、タグ名だけを検索するでしょうか? – cartman
@cartmanマイアップデートを参照してください。 –
この答えは、ほとんどの場合、ちょうど良いことです - 正規表現が変更されない場合、 'String#matches'を使うのではなく、(静的な最終的な)' Pattern'を一度作成する方が効率的です新しい 'Pattern'と' Matcher'が呼び出されます。 +1でも –