首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >比较C#中的XML文档

比较C#中的XML文档
EN

Stack Overflow用户
提问于 2020-05-02 08:12:42
回答 1查看 349关注 0票数 0

我是C#的新手,我想比较一下XML文件并获得第三个输出。

我已经阅读了它可能使用的'xmldiff‘类。

我也可以在下面找到,但是我不确定应该使用哪种C#项目类型?

请帮助我理解我应该选择哪种项目类型?

我试过使用类库,但它在(XmlDiffOptions.IgnoreChildOrder | XmlDiffOptions.IgnoreNamespaces | XmlDiffOptions.IgnorePrefixes)上给了我错误

此外,我也没有看到以下要求文件位置保存。

代码语言:javascript
复制
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”。此包可能与您的项目不完全兼容。

EN

回答 1

Stack Overflow用户

发布于 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)

代码语言:javascript
复制
        //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();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61556295

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档