2016-04-01 22 views
1

Belirli etiketlerin değiştirilmesi gereken bir html/xml dosyası var.Açık ve kapat etiketini değiştir?

<section> 
    <banner> 
</section> 

ben gibi çözümlerle <banner> etiketi değiştirebilirsiniz: Aşağıdaki xml ile sorun haline çalıştırıyorum Replacing tag with letters using JSoup

Ama örneğin, çocuk sahibi etiketleri ile derde çalıştırıyorum: <section>'u <mysection><b> ve </section> ile </b></mysection> ile değiştirin?

els = doc.select("section"); 
els.tagName("mysection"); 

ama aynı zamanda <b> etiketi (biraz daha) eklenmek istiyorum:

denedim (tabi <section> etiketinin çocukları tutarak).

cevap

2

Bu nasıl

// sample data: a parent section containing nodes 
String szHTML = "<section><banner><child>1</child></banner><abc></abc></section>"; 

Document doc = Jsoup.parse(szHTML); 

// select the element section 
Element sectionEle = doc.select("section").first(); 

// renaming the section element to mysection 
sectionEle.tagName("mysection"); 

// get all the children elements of section element 
Elements children = sectionEle.children(); 

// remove all the children 
for(Node child: children){ 
    child.remove(); 
} 

// insert element b in mysection 
Element b = sectionEle.appendElement("b"); 

// insert all the child nodes back to element b 
b.insertChildren(0, children); 


System.out.println(doc.toString()); 

İstenilen çıkışı hakkında:

<mysection> 
    <b> 
    <banner> 
    <child> 
     1 
    </child> 
    </banner> 
    <abc></abc></b> 
    </mysection> 
+1

Beğenilenler Sandeep! Bu insertChildren biri bir çekicilik, güzel bulmak gibi çalışır. –

İlgili konular