Я хочу получить значение id, если дочерний элемент тега содержит определенный текст., чтобы найти значение атрибута тега, когда конкретный текст соответствует содержимому
Вход:
<base>
<parent id="101" txt="hello">
<child1>
<data> search </data>
</child1>
<child2>
<data> send</data>
</child2>
</parent>
<parent id="102" txt="hello">
<child1>
<data> hai </data>
</child1>
<child2>
<data> hey </data>
</child2>
</parent>
</base>
Выход:
Я ищу "эй" текста во всем файле, поэтому он должен вернуть идентификатор = "102"
фрагмент кода, который Я попытался
if(line.indexOf("<Parent")>= 0)
{
String output="";
Pattern pat = Pattern.compile("id=\".*?\"");
Matcher mat = pat.matcher(line);
if(mat.find())
{
int start=mat.start();
int end=mat.end();
output = line.substring(start+4,end-1);
}
Pattern pat1 = Pattern.compile("<parent"[A-Z](?i)[^.?!]*?\\b(hey)\\b[^.?!]*[.?!]")</parent>");
Matcher mat1 = pat.matcher(line);
if(mat.find())
{
bw.write(output);
}
}
@PritamBanerjee - обновлена с помощью сценария, который я попытался – Karthick
почему все отрицательные голоса, кажется законным мне? –