我是C#的新手,我想比较一下XML文件并获得第三个输出。
我已经阅读了它可能使用的'xmldiff‘类。
我也可以在下面找到,但是我不确定应该使用哪种C#项目类型?
请帮助我理解我应该选择哪种项目类型?
我试过使用类库,但它在(XmlDiffOptions.IgnoreChildOrder | XmlDiffOptions.IgnoreNamespaces | XmlDiffOptions.IgnorePrefixes)上给了我错误
此外,我也没有看到以下要求文件位置保存。
private void CompareXml(string file1, string file2, string diffFileNameWithPath)
{
//file1 = "XMLDelta_A.xml";
//file2 = "XMLDelta_B.xml";
XmlReader reader1 = XmlReader.Create(@"\\msi-ws60-a0080\Parisa\wetransfer-6f37e5\XML\XMLDelta_A.xml");
XmlReader reader2 = XmlReader.Create(@"\\msi-ws60-a0080\Parisa\wetransfer-6f37e5\XML\XMLDelta_B.xml");
StringBuilder differenceStringBuilder = new StringBuilder();
using (FileStream fs = new FileStream(diffFileNameWithPath, FileMode.Create))
{
XmlWriter diffGramWriter = XmlWriter.Create(fs);
XmlDiff xmldiff = new XmlDiff(XmlDiffOptions.IgnoreChildOrder |
XmlDiffOptions.IgnoreNamespaces |
XmlDiffOptions.IgnorePrefixes);
bool bIdentical = xmldiff.Compare(file1, file2, false, diffGramWriter);
diffGramWriter.Close();
}

现在上面写着
使用“
、Version=v4.6.1、.NETFramework、Version=v4.6.2、.NETFramework、Version=v4.7、.NETFramework、Version=v4.7.1、.NETFramework、Version=v4.7.2、.NETFramework、Version=v4.8”恢复了“.NETFramework、Version=v4.6.1、.NETFramework、Version=v4.6.2、.NETFramework、Version=v4.7、.NETFramework、Version=v4.7.1、.NETFramework、Version=v4.7.2、.NETFramework、Version=v4.8”而不是项目目标框架'.NETStandard,Version=v2.0‘,恢复了项目目标框架“XMLDiffPatch 1.0.8.28”。此包可能与您的项目不完全兼容。
发布于 2020-05-05 23:34:14
设法解决它,有些论点是不正确的。谢谢你的帮助我用了下面的
StringReader(@"\msi-ws60-a0080\Parisa\wetransfer-6f37e5\XML\XMLDelta_A.xml"));reader1 =XmlReader.Create(新XmlReader XmlReader reader2 =XmlReader.Create)
//StringBuilder differenceStringBuilder = new StringBuilder();
// using (FileStream fs = new FileStream(diffFileNameWithPath, FileMode.Create))
{
XmlWriter diffGramWriter = new XmlTextWriter("diffgram.xml", new System.Text.UnicodeEncoding());
//XmlWriter.Create(fs);
XmlDiff xmldiff = new XmlDiff(XmlDiffOptions.IgnoreChildOrder |
XmlDiffOptions.IgnoreNamespaces |
XmlDiffOptions.IgnorePrefixes);
bool bIdentical = xmldiff.Compare(textBox1.Text, textBox2.Text, false, diffGramWriter);
diffGramWriter.Flush();
diffGramWriter.Close();
//fs.Close();https://stackoverflow.com/questions/61556295
复制相似问题