我有一个XML文件没有双引号的属性值。以下是一个示例。正如你所看到的,这些都是可能的值,我尝试使用正则表达式*=\s*([^" >]+)
,并用="\1"
取代,这在大多数情况下起作用,但它有两个问题。
任何帮助,将不胜感激。正则表达式记事本+ +:使用查找替换为XML属性值引用替换
- 它不会用双引号(“”)替换空值(eg.status)。
- 它取代仅当值具有sentence.eg的第一个字(介绍)
样品输入:
<tool id=2 code=abc description=my description end here my_levels=$15,000/$30,000 individual_level= amount=0 status= my_code=P my_date=2017-02-21T00:00:00 points= />
预期的结果:
<tool id="2" code="123abc" description="my description end here" my_levels="$15,000/$30,000" individual_level="" amount="0" status="" my_code="P" my_date="2017-02-21T00:00:00" points="" />
你可能不会用正则表达式来解决这个问题。生成无效的XML已经丢弃了一些信息。由于属性值可能包含等号符号(不能确定它们没有),因此存在无法解析的歧义。唯一合理的解决方案是在源代码处修复XML的生成,这是属性值明确已知的地方。 –
我相信我们没有=在xml中的值。 – KKR