1

我正在尝试删除 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>

谢谢马里

4

1 回答 1

3

如果您的意思是&符号,它不在标签中,它在出现在两个标签之间的文本中。

人们选择使用 XML 进行数据交换的原因是它是一种标准,并且有很多软件可以处理它。如果您尝试使用几乎是 XML 但又不完全是 XML 的东西,那么这种优势就完全消失了。

到目前为止,最好的解决方案是修复生成这个不太 XML 的程序。

如果你真的做不到,你将不得不尝试修复它,而修复的方式取决于损坏的性质。例如,您可以使用任何支持正则表达式的语言来替换任何字符序列中的 & 符号,其中&符号后面没有“#”或字母数字序列,然后是分号,由"&amp;". 但是,如果数据包含此错误,则意味着它是不小心生成的,因此它也可能包含任意数量的其他错误。

于 2015-06-15T12:56:49.177 回答