Сравните XML документов в C# - PullRequest
0 голосов
/ 02 мая 2020

Я новичок в 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();
    }

Теперь говорится ниже

Код серьезности Описание Состояние файла Подавление строки Предупреждение Предупреждение NU1701 Пакет 'XMLDiffPatch 1.0.8.28' был восстановлен с использованием .NETFramework, Версия = v4.6.1, .NETFramework, Версия = v4.6.2, .NETFramework, Версия = v4.7, .NETFramework, Версия = v4.7.1, .NETFramework, Version = v4.7.2, .NETFramework, Version = v4.8 'вместо целевой платформы проекта' .NETStandard, Version = v2.0 '. Этот пакет может быть не полностью совместим с вашим проектом.

1 Ответ

0 голосов
/ 06 мая 2020

удалось решить некоторые аргументы, которые были неверны. Спасибо за вашу помощь. Я использовал ниже

XmlReader reader1 = XmlReader.Create (новый StringReader (@ "\ msi-ws60-a0080 \ Parisa \ wetransfer-6f37e5 \ XML \ XMLDelta_A. xml")); XmlReader reader2 = XmlReader.Create (новый StringReader (@ "\ msi-ws60-a0080 \ Parisa \ wetransfer-6f37e5 \ XML \ XMLDelta_B. xml"));

        //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();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...