我正在使用我第一次使用的 XMLDiff.compare() 比较两个 XML 文件,但无法弄清楚如何处理生成的 diffgram 文件以生成两个 XML 差异的 HTML。
bool bIdentical = xmldiff.Compare(originalFile, newFile, false, diffgramWriter);
原始文件在哪里
<?xml version="1.0" encoding="utf-8"?>
<testsOutputData>
<TestName_AK1>
<FeatureID ID="33B50792-207E514">
<Intance_ID_1 >
<CommandString>ABC </CommandString>
<ProductID>100000</ProductID>
<ProjectName>No Project</ProjectName>
<TaskID>TESTSUITE</TaskID>
<Type>Local</Type>
<User></User>
</Intance_ID_1>
<Intance_ID_2>
<CommandString>PQR </CommandString>
<ProductID>1000</ProductID>
<ProjectName>No Project</ProjectName>
<TaskID>TESTSUITE</TaskID>
<Type>Local</Type>
<User></User>
</Intance_ID_2>
<Intance_ID_3>
<CommandString>ABC </CommandString>
<ProductID>1000</ProductID>
<ProjectName>No Project</ProjectName>
<TaskID>TESTSUITE</TaskID>
<Type>Local</Type>
<User></User>
</Intance_ID_3>
</FeatureID>
</TestName_AK1>
新文件是
<?xml version="1.0" encoding="utf-8"?>
<testsOutputData>
<TestName_AK1>
<FeatureID ID="33B50792-207E514">
<Intance_ID_2>
<CommandString>PQR </CommandString>
<ProductID>1000</ProductID>
<ProjectName>No Project</ProjectName>
<TaskID>TESTSUITE</TaskID>
<Type>Local</Type>
<User></User>
</Intance_ID_2>
<Intance_ID_1 >
<CommandString>ABC </CommandString>
<ProductID>100000</ProductID>
<ProjectName>No Project</ProjectName>
<TaskID>TESTSUITE</TaskID>
<Type>Local</Type>
<User></User>
</Intance_ID_1>
<Intance_ID_3>
<CommandString>ABC </CommandString>
<ProductID>1000</ProductID>
<ProjectName>No Project</ProjectName>
<TaskID>TESTSUITE</TaskID>
<Type>Local</Type>
<User></User>
</Intance_ID_3>
</FeatureID>
</TestName_AK1>
生成的 diffgramwriter 是
<xd:xmldiff version="1.0" srcDocHash="11314582626391529293" options="None" fragments="no" xmlns:xd="http://schemas.microsoft.com/xmltools/2002/xmldiff">
<xd:node match="2">
<xd:node match="1">
<xd:node match="1">
<xd:add match="/2/1/1/2" opid="1" />
<xd:remove match="2" opid="1" />
</xd:node>
</xd:node>
</xd:node>
<xd:descriptor opid="1" type="move" />
</xd:xmldiff>
现在使用这个需要生成 HTML 文件。(这是后面的部分)但我无法正确理解(读取)diffgram 文件,无法理解的含义
<xd:add match="/2/1/1/2" opid="1" />
<xd:remove match="2" opid="1" />
和
<xd:descriptor opid="1" type="move" />
对于其他情况,它们在其他 diffgram 中更多的是这种类型的节点。我怎样才能理解这个 diffgram 文件,以便我可以生成一个 HTML