如何修复查询以获得错误的答案

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何修复查询以获得错误的答案相关的知识,希望对你有一定的参考价值。

我有一个XML文件,我需要过滤以获得“错误”的答案。我的查询仅在第一个答案值为Wrong时执行。它不会过滤结果。

<?xml version="1.0" encoding="utf-8" ?>
<Test>
  <BA_Part_I>
    <Q _001="A"></Q>
    <Q _002="C"></Q>
    <Q _003="B, D"></Q>
    <Q _004="2, 4, 9"></Q>
    <Q _005="A"></Q>
    <Q _006="2, 6, 7, 4, 8"></Q>
    <Q _007="A"></Q>
    <Q _008="C"></Q>
    <Q _009="A">Wrong</Q>
    <Q _010="D"></Q>
    <Q _011="C"></Q>
    <Q _012="1, 3"></Q>
    <Q _013="B, D"></Q>
    <Q _014="B"></Q>
    <Q _015="B"></Q>
    <Q _016="A, F">Wrong</Q>
    <Q _017="A"></Q>
    <Q _018="D"></Q>
    <Q _019="3, 1, 1, 2"></Q>
    <Q _020="B"></Q>
    <Q _021="A, B"></Q>
  </BA_Part_I>
</Test>

using System;
using System.IO;
using System.Linq;
using System.Xml.Linq;

//...
    static void Main(string[] args)
    {
        XDocument document = XDocument.Parse(File.ReadAllText("Tracker.xml"));

        var query1 = from q in document.Descendants("BA_Part_I")
                        where q.Element("Q").Value == "Wrong"
                        select q;

        foreach (var item in query1)
        {
            Console.WriteLine(item);
        }
    }

我也尝试将查询更改为列表它仍然无法正常工作,有什么建议吗?

答案

用于选择的LINQ查询不正确。使用此选项可以提取其中包含值“Wrong”的节点

var query1 = from q in document.Descendants("BA_Part_I").Descendants("Q")
                     where q.Value == "Wrong"
                     select q;`

请注意,我们在BA_Part_I节点中拾取Descendants(“Q”),然后检查节点的Value。

以上是关于如何修复查询以获得错误的答案的主要内容,如果未能解决你的问题,请参考以下文章

如何修复“代码应明确检查权限是不是可用”错误

mysqli_fetch_assoc() 期望参数/调用成员函数 bind_param() 错误。如何获得实际的mysql错误并修复它?

mysqli_fetch_assoc() 期望参数/调用成员函数 bind_param() 错误。如何获得实际的mysql错误并修复它?

mysqli_fetch_assoc() 期望参数/调用成员函数 bind_param() 错误。如何获得实际的mysql错误并修复它?

mysqli_fetch_assoc() 期望参数/调用成员函数 bind_param() 错误。如何获得实际的mysql错误并修复它?

mysqli_fetch_assoc() 期望参数/调用成员函数 bind_param() 错误。如何获得实际的mysql错误并修复它?