У меня есть следующий XML образец:
<?xml version="1.0" encoding="UTF-8" ?>
<0>
<user>
<fname>bob</fname>
<lname>marley</lname>
<age>30</age>
</user>
</0>
<1>
<user>
<fname>john</fname>
<lname>lennon</lname>
<age>20</age>
</user>
</1>
<2>
<user>
<fname>phil</fname>
<lname>smith</lname>
<age>40</age>
</user>
</2>
Я хотел бы в конечном итоге только пользователей .... как так ...
<user>
<fname>bob</fname>
<lname>marley</lname>
<age>30</age?
</user>
<user>
<fname>john</fname>
<lname>lennon</lname>
<age>20</age>
</user>
<user>
<fname>phil</fname>
<lname>smith</lname>
<age>40</age>
</user>
I Я уже использовал регулярное выражение, чтобы избавиться от строки объявления XML ... но теперь мне нужно удалить целочисленные теги и получить только теги USER
Это то, что я до сих пор. Я получаю путаницу в части регулярных выражений .. (Я думаю!)
String x1 = '''
<?xml version="1.0" encoding="UTF-8" ?>
<0>
<user>
<fname>bob</fname>
<lname>marley</lname>
<age>30</age>
</user>
</0>
<1>
<user>
<fname>john</fname>
<lname>lennon</lname>
<age>20</age>
</user>
</1>
<2>
<user>
<fname>phil</fname>
<lname>smith</lname>
<age>40</age>
</user>
</2>
'''
import java.util.regex.Pattern
//remove the XML declaration
String x2 = x1.replaceAll("\\<\\?xml(.+?)\\?\\>", "").trim();
//grab the opening XML tag --- not quite sure how to insert dynamic REGEX here
String openingNumberTag = "<" + "[0-9]+" + ">";
//grab the closing XML tag --- not quite sure how to insert dynamic REGEX here
String closingNumberTag = "</" + "[0-9]+" + ">";
//Now iterate through the XML string and remove the number tags
if (x2.matches(openingNumberTag))
{
//remove it somehow;
}
if (x2.matches(closingNumberTag))
{
//remove it somehow;
}
//Print the final XML string with just the USER tags
println(x2);
Любая помощь приветствуется Спасибо