我正在尝试删除XML标签中存在的一些特殊字符,我们可以使用一些regsubs或字符串映射函数来消除标记文本中的XML特殊字符,但这是一个冗长/耗时的过程因为我们的日志文件非常大约25 MB左右。
是否有任何特殊方法/提示可以消除XML标记中的特殊字符
这是一个类似
的示例<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<Customers>
<Customer>
<CustomerID>BLAUS</CustomerID>
<CompanyName>Blauer See Delikatessen</CompanyName>
<ContactName>Hanna Moos</ContactName>
**<Region>test<ing</Region>**
</Customer>
<Customer>
<CustomerID>SPLIR</CustomerID>
<CompanyName>Split Rail Beer & Ale</CompanyName>
<ContactName>Art raunschweiger</ContactName>
<Region>WY</Region>
</Customer>
</Customers>
由于 Malli
答案 0 :(得分:2)
如果您指的是&符号,则它不在标记中,它出现在两个标记之间的文本中。
人们选择使用XML进行数据交换的原因在于它是一个标准,并且有很多软件可以处理它。如果你试图使用几乎是XML但不完全的东西,那么这种优势就会完全消失。
到目前为止,最好的解决方案是修复生成这个不太完整的XML的程序。
如果你真的不能这样做,你就必须尝试修复它,这样做的方式取决于伤害的性质。例如,您可以使用支持正则表达式的任何语言来替换任何字符序列中的&符号,其中&符号后面跟着&#39;#&#39;或者是一系列字母数字,然后是分号,"&"
。但是,如果数据包含此错误,则表示它是不小心生成的,因此它也可能包含任意数量的其他错误。