Вставка элемента в документ с помощью Jsoup
Здравствуйте я пытаюсь вставить новый дочерний элемент в корневой элемент документа, как это:
Document doc = Jsoup.parse(doc);
Elements els = doc.getElementsByTag("root");
for (Element el : els) {
Element j = el.appendElement("child");
}
в приведенном выше коде только один корневой тег находится в документе, поэтому по существу цикл будет выполняться только один раз.
в любом случае, элемент вставляется как последний элемент корневого элемента "root."
есть ли способ вставить дочерний элемент в качестве первого элемента?
пример:
<root>
<!-- New Element must be inserted here -->
<child></child>
<child></chidl>
<!-- But it is inserted here at the bottom insted -->
</root>
2 ответов
посмотрите, поможет ли это вам:
String html = "<root><child></child><child></chidl></root>";
Document doc = Jsoup.parse(html);
doc.select("root").first().children().first().before("<newChild></newChild>");
System.out.println(doc.body().html());
выход:
<root>
<newchild></newchild>
<child></child>
<child></child>
</root>
чтобы расшифровать, он говорит:
- выберите корневые элементы
- захватить первый корневой элемент
- захватите детей на этом корневом элементе
- Хватай первого ребенка
- перед этим ребенком вставьте этот элемент
очень похоже, используйте prependElement () вместо appendElement ():
Document doc = Jsoup.parse(doc);
Elements els = doc.getElementsByTag("root");
for (Element el : els) {
Element j = el.prependElement("child");
}