У меня есть следующая строка, которая создается внешней программой (OpenVAS) и успешно возвращается в мою программу в виде строки.Разбиение строки без пробелов
<create_target_response id="b4c8de55-94d8-4e08-b20e-955f97a714f1" status_text="OK, resource created" status="201"></create_target_response>
Я пытаюсь разделить строку, чтобы дать мне «b4c8d .... 14F1» без кавычек. Я пробовал всевозможные методы эвакуации и продолжаю получать метод else: «String не содержит идентификатор цели». Я попытался удалить проверку IF для строки, но по-прежнему имеет ту же проблему. Цель состоит в том, чтобы получить мою строку id в jTextField6. String Lob содержит полную строку, как указано выше.
if (Lob.contains("id=\"")){
// put the split here
String[] parts = Lob.split("id=\"");
String cut1 = parts[1];
String[] part2 = cut1.split("\"");
String TaskFinal = part2[0];
jTextField6.setText(TaskFinal);
}
else {
throw new IllegalArgumentException("String does not contain a Target ID");
}
} catch (IOException e) {
e.printStackTrace();
}
Кажется, мне нужно только, чтобы избежать ", а не = (Java поднимает ошибку, если я делаю)
Заранее спасибо
EDIT: код, как она стоит сейчас, используя jSoup Lib - The «ID» строка не будет отображать Любые идеи Благодаря
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
String TargIP = jTextField1.getText(); // Get IP Address
String TargName = jTextField5.getText(); // Get Target Name
String Vag = "8d32ad99-ac84-4fdc-b196-2b379f861def";
String Lob = "";
final String dosCommand = "cmd /c omp -u admin -w admin --xml=\"<create_target><name>" + TargName + "</name><hosts>" + TargIP + "</hosts></create_target>\"";
3</comment><config id='daba56c8-73ec-11df-a475-002264764cea'/><target id='" + Vag + "'/></create_task>\"";
final String location = "C:\\";
try {
final Process process = Runtime.getRuntime().exec(
dosCommand + " " + location);
final InputStream in = process.getInputStream();
int ch;
while((ch = in.read()) != -1) {
System.out.print((char)ch);
Lob = String.valueOf((char)ch);
jTextArea2.append(Lob);
}
} catch (IOException e) {
e.printStackTrace();
}
String id = Jsoup.parse(Lob).getAllElements().attr("id");
System.out.println(id); // This doesn't output?
}
Вы должны попробовать xml-parser. это будет намного проще и лучше для вас. – Sanjeev