1

我需要删除以“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>

我想删除以 ie<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[^>].*?\\>", "");

请有任何建议。

4

1 回答 1

1

不要尝试使用正则表达式来玩字符串。我建议您进行编组和解组。将您的 XML 解组到一个类中。使用 Apache Commons 的 BeanUtils 将所需的类内容复制到另一个类中,然后将其编组回 XML。

于 2013-09-16T11:09:58.330 回答