由于 xml 标签中的特殊字符,tcl tdom 解析失败

tcl tdom parsing failed due to special charecters in xml tags

我正在尝试删除 XML 标签中存在的一些特殊字符,我们可以使用一些 regsubs 或字符串映射函数来删除标签文本中的 XML 特殊字符,但它是 lengthy/time 消耗进程,因为我们的日志文件非常大,大约 25 MB。

是否有任何特殊的 method/tip 来消除 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>

谢谢 马里

如果你指的是符号,它不在标签中,而是在出现在两个标签之间的文本中。

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

到目前为止,最好的解决方案是修复生成此问题的程序XML。

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