我需要删除以“section”结尾的字符串中的XML标记。例如,在下面的XML字符串
中<OldSection>
<sectionTitle>Sample Title</sectionTitle>
<label> Hello Label </label>
<heading>Hi </heading>
<NewSection>
<section>
<InteractionSection>
<sectionTitle>Section Title</sectionTitle>
<label> Hello </label>
<heading>Hi </heading>
<para>
...
...
</para>
</InteractionSection>
<section>
</NewSection>
</OldSection>
我想删除以<OldSection>, </OldSection>
,<NewSection></NewSection>, <InteractionSection>, </InteractionSection>
等部分结尾的标签。应该删除标签,而不是标签中的内容。
我尝试了以下代码,但没有工作..
stringformat sf = new stringformat();
// REturns the xml string given as input
String s = sf.getString();
String f = s;
f = f.replaceAll("\\<*Section[^>].*?\\>", "");
请提出任何建议。
答案 0 :(得分:1)
不要尝试使用正则表达式使用字符串。我建议你做编组和解组。将您的XML解组为一个类。使用Apache Commons的BeanUtils将必需的类内容复制到另一个类中,然后将其编组回XML。