Я обнаружил некоторые проблемы в вашем коде: 1) если вы хотите создать удаленный XML через сеть, вы должны использовать другой метод сборки, который получает URL-адрес в качестве входных данных.На самом деле вы анализируете файл с именем "www ...... com" как xml.
Document jdomDocument = builder.build( new URL("http://www........com"));
2) если вы хотите проанализировать html-страницу как xml, вы должны проверить, чтоэто правильно сформированный документ xhtml, иначе вы не сможете разобрать его как xml
3), как я уже сказал вам в другом ответе, root.getChild("body")
возвращает дочернего элемента root, имя которого "body",без пространства имен.Вы должны проверить пространство имен для элемента, который вы ищете;если у него есть определенное пространство имен, вы должны передать его следующим образом:
root.getChild("body", Namespace.getNamespace("your_namespace_uri"));
Чтобы узнать, какое пространство имен имеет ваш элемент простым способом, вы должны распечатать все дочерние элементы root, используя метод getChildren:
for (Object element : doc.getRootElement().getChildren()) {
System.out.println(element.toString());
}
Если вы пытаетесь разобрать xhtml, возможно, у вас есть пространство имен uri http://www.w3.org/1999/xhtml
.Так что вы должны сделать это:
root.getChild("body", Namespace.getNamespace("http://www.w3.org/1999/xhtml"));