在Beyond Compare 4中比较文件后,将生成以下XML报告。
<?xml version="1.0" encoding="iso-8859-1"?>
<bcreport created="20-Jun-2020 6:28:13 PM">
<filecomparison created="20-Jun-2020 6:28:12 PM">
<filename1>\\PC3\D\test1.bas</filename1>
<filename2>\\PC3\D\test2.bas</filename2>
<linecomp status="same">
<text ltid="1" rtid="1">Attribute VB_Name = "test"</text>
</linecomp>
<linecomp status="same">
<text ltid="2" rtid="2"> If Trim(RRRnum) <> "" Then RRRnum = RRRnum & "|"</text>
</linecomp>
<linecomp status="same">
<text ltid="3" rtid="3">'tagsToReplace = " $<BR>$<B>$</B>"</text>
</linecomp>
<linecomp status="same">
<text ltid="4" rtid="4">If Trim(RRRnum) <> "" Then RRRnum = RRRnum & "|"</text>
</linecomp>
<linecomp status="same">
<text ltid="5" rtid="5">'to remove special chars like &-case sensitive</text>
</linecomp>
</filecomparison>
</bcreport>
首先在vb.net代码中读取此XML时,我遇到了一个例外:“引用未声明的实体'nbsp'”。
我在XML文件的下面添加了一行,并解决了XML异常。
<!DOCTYPE doctypeName [<!ENTITY nbsp " ">]>
但是现在它给出了以下例外:“引用未声明的实体'AMP'”这一行“删除了像&AMP;区分大小写的特殊字符”。
在此“&AMP;”中是写在文件中的实际文本,而不是转换后的特殊字符。 在XML中添加实体还会将无法比较的非生成文本转换为特殊字符。
如何将实际文本区分为无法比较的转换特殊字符文本?如何解决此错误?