Я хочу извлечь каждую область между <xsd:headerName>
и </xsd:headerName>
. Поскольку я пишу генератор кода, я не могу определить, как часто он присутствует, потому что он может отличаться для каждого xml.
Я просто получаю нулевые указатели при выполнении, так что я делаю неправильно?
Без списка я получаю первую область, но мне нужны все из них по отдельности.
String xmlToString = null;
List<String> ComplexTypeList = null;
String path = "/path/of/xml";
try {
xmlToString = FileUtils.readFileToString(new File(path), StandardCharsets.UTF_8);
} catch (IOException e) {
e.printStackTrace();
}
for (int i = 0; i < headerName.size(); i++) {
String result = xmlToString.substring(xmlToString.indexOf("<xsd:headerName"), xmlToString.indexOf("</xsd:headerName>") + 18); // +18 so i get </xsd:headerName>
ComplexTypeList.add(result); // here i get a Nullpointer
}
РЕДАКТИРОВАТЬ: Итак, теперь, когда это почти работает, у меня все еще есть проблема, что он всегда занимает одну и ту же / первую область. Как я могу решить это, чтобы он всегда переходил к следующему?