如何在java中修改XML Tag值

时间:2017-09-01 14:23:14

标签: java regex xml tags

我在String变量xmlDataString中有XML文件数据。像这样的数据

<?xml version="1.0" encoding="UTF-8"?>
<Personnel_Details>
  <Employee_Type>
        <MY_Name>Seagull_AAAAA</MY_Name>
        <MY_LName>XXXXX</MY_LName>
  </Employee_Type>     
</Personnel_Details>

我想将“_”替换为“ - ”仅用于内部XML标记,即<Personnel_Details>而不是Seagull_AAAAA.So输出将类似于

<Personnel-Details>
  <Employee-Type>
        <MY-Name>Seagull_AAAAA</MY-Name>
        <MY-LName>XXXXX</MY-LName>
   </Employee-Type> 
</Personnel-Details>

使用以下语句,它将MY_Name更改为MY- Name,将Seagull_AAAAA更改为Seagull-AAAAA。 我只希望MY_Name为MY- Name更改

xmlDataString = xmlDataString.replaceAll("_", "-");

我希望这是通用的,所以我只能应用于任何XML标签,即我拥有的另一个xml标签就像<Company_Details> .....</Company_Details>

这里的正则表达式有用吗?

提前致谢!!!!!

1 个答案:

答案 0 :(得分:0)

尝试这样的事情:

xmlDataString = xmlDataString-replaceAll("(<[^>]*)_([^>]*>)", "$1-$2");

如果有多个下划线的标签,则需要多次运行...