由于xml标记中的特殊字符,tcl tdom分析失败
我正在尝试删除XML标记中存在的一些特殊字符,我们可以使用一些regsubs或字符串映射函数来消除标记文本中的XML特殊字符,但这是一个冗长/耗时的过程,因为我们的日志文件非常大,大约为25 MB 是否有任何特殊的方法/技巧来消除XML标记中的特殊字符 这是一个看起来像由于xml标记中的特殊字符,tcl tdom分析失败,xml,tcl,tdom,Xml,Tcl,Tdom,我正在尝试删除XML标记中存在的一些特殊字符,我们可以使用一些regsubs或字符串映射函数来消除标记文本中的XML特殊字符,但这是一个冗长/耗时的过程,因为我们的日志文件非常大,大约为25 MB 是否有任何特殊的方法/技巧来消除XML标记中的特殊字符 这是一个看起来像 <?xml version="1.0" encoding="UTF-8" standalone="no" ?> <Customers> <Customer> <C
<?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>
布拉斯
布劳尔·西德利卡泰森
汉娜·莫斯
**test如果您指的是与,则它不在标记中,而是在两个标记之间出现的文本中
人们选择使用XML进行数据交换的原因是它是一种标准,而且有很多软件可以处理它。如果您尝试使用几乎是XML但不完全是XML的东西,那么这种优势将完全消失
到目前为止,最好的解决方案是修复生成这种不完全XML的程序
如果你真的做不到,你必须试着修复它,而修复的方法取决于损坏的性质。例如,您可以使用支持正则表达式的任何语言来替换任何字符序列中的“与”,其中“与”后面不跟“#”或字母数字序列,然后是分号,后面是“&;”
。但是,如果数据包含此错误,则意味着它是不小心生成的,因此它也可能包含任意数量的其他错误。能否修复生成此无效XML的进程?看起来有人正在生成“XML”通过使用简单的模板替换,而无需注意转义其中的关键实体。那太糟糕了。