2016-04-01 9 views
1

私は特定のタグを置き換える必要のあるhtml/xmlファイルを持っています。私のようなソリューションを<banner>タグを置き換えることができオープンタグとクローズタグを交換しますか?

<section> 
    <banner> 
</section> 

Replacing tag with letters using JSoup

しかし、私は例えば、子供を持つタグとトラブルに実行している私は、次のXMLとのトラブルに実行しています: <section><mysection><b>と置き換えて</section></b></mysection>に置き換えますか?

(もちろん<section>タグの子供を保つ)

私が試した:

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

をしかし、私はまた、<b>タグが追加されるようにしたい(そしてもう少し)。

答えて

2

どのようにこの

// 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()); 

所望の出力について:

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

親指サンディープ!これは、魅力のように動作します。 –

関連する問題