Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何读取表单C中XML中单个节点的两个属性?_C#_Xml - Fatal编程技术网

C# 如何读取表单C中XML中单个节点的两个属性?

C# 如何读取表单C中XML中单个节点的两个属性?,c#,xml,C#,Xml,这是我用来读取单个节点的两个属性的代码 这是我的Xml文件 <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Users> <User Name="aa" Occupation="dd" Date_Of_Birth="123456" NIC="123123" ID="79461" /> <User Name="Ali Rasheed" Occupation="Student" Dat

这是我用来读取单个节点的两个属性的代码

这是我的Xml文件

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Users>
  <User Name="aa" Occupation="dd" Date_Of_Birth="123456" NIC="123123" ID="79461" />
  <User Name="Ali Rasheed" Occupation="Student" Date_Of_Birth="111694" NIC="4550246607037" ID="12661" />
  <User Name="Asif Rasheed" Occupation="Civil Engineer" Date_Of_Birth="241190" NIC="4550346603073" ID="90939" />
</Users>
例如,我想检查单个节点是否有两个属性。
如果我输入id 121661和nic 4550246607037,它应该说是,这些值都存在于节点中。

您不能在任何节点中检查这两个值吗


可以使用OR,但必须确定一个或两个项目是否匹配

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using System.Xml.Linq;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            string input = 
                "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>" +
                    "<Users>" +
                      "<User Name=\"aa\" Occupation=\"dd\" Date_Of_Birth=\"123456\" NIC=\"123123\" ID=\"79461\" />" +
                      "<User Name=\"Ali Rasheed\" Occupation=\"Student\" Date_Of_Birth=\"111694\" NIC=\"4550246607037\" ID=\"12661\" />" +
                      "<User Name=\"Asif Rasheed\" Occupation=\"Civil Engineer\" Date_Of_Birth=\"241190\" NIC=\"4550346603073\" ID=\"90939\" />" +
            "</Users>";

            XDocument doc = XDocument.Parse(input);

            long searchID = 121661;
            long searchNic = 455024660703;


            var results = doc.Descendants ("User").Where(x => (long.Parse(x.Attribute("NIC").Value) == searchNic) || long.Parse(x.Attribute("ID").Value) == searchID)
                .Select(y => new {id = long.Parse(y.Attribute("ID").Value), nic = long.Parse(y.Attribute("NIC").Value)}).ToList();




        }
    }
}​
var bothExist = (doc.Descendants("User").Any(x => (string)x.Attribute("ID") == txtId.Text &&
                                                  (string)x.Attribute("NIC") == txtNic.Text);
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using System.Xml.Linq;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            string input = 
                "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>" +
                    "<Users>" +
                      "<User Name=\"aa\" Occupation=\"dd\" Date_Of_Birth=\"123456\" NIC=\"123123\" ID=\"79461\" />" +
                      "<User Name=\"Ali Rasheed\" Occupation=\"Student\" Date_Of_Birth=\"111694\" NIC=\"4550246607037\" ID=\"12661\" />" +
                      "<User Name=\"Asif Rasheed\" Occupation=\"Civil Engineer\" Date_Of_Birth=\"241190\" NIC=\"4550346603073\" ID=\"90939\" />" +
            "</Users>";

            XDocument doc = XDocument.Parse(input);

            long searchID = 121661;
            long searchNic = 455024660703;


            var results = doc.Descendants ("User").Where(x => (long.Parse(x.Attribute("NIC").Value) == searchNic) || long.Parse(x.Attribute("ID").Value) == searchID)
                .Select(y => new {id = long.Parse(y.Attribute("ID").Value), nic = long.Parse(y.Attribute("NIC").Value)}).ToList();




        }
    }
}​