0

我有xml文件:

<users>
        <user_tuple>
          <userid>U01</userid>
          <code>
            <name>Tom Jones</name>
          </code>
          <rating>B</rating>
        </user_tuple>
        <user_tuple>
          <userid>U02</userid>
          <code>
             <name>Mary Doe</name>
          </code>
          <rating>A</rating>
        </user_tuple>
        <user_tuple>
          <userid>U03</userid>
          <code>
            <name>Dee Linquent</name>
          </code>
         <rating>D</rating>
        </user_tuple>

如何仅选择 userid.Value== "U01" 和 rating.Value=="B" 等(以及所有子节点/元素),即我想要结果:

 <user_tuple>
      <userid>U01</userid>
      <code>
        <name>Tom Jones</name>
      </code>
      <rating>B</rating>
    </user_tuple>
4

2 回答 2

0

您只需要 Userid 和 rating 匹配的值。这是代码

XElement root = XElement.Load(@"YOUR XML PATH");
        var res = root.Elements("user_tuple").Where(x => x.Element("userid").Value == "U01" && x.Element("rating").Value == "B").Elements();
于 2013-08-19T13:03:47.233 回答
0

这应该可以工作(在 C# 中),试试看

string id = "U01";
string rating = "B";
XDocument doc = null;
using (var reader1 = new StreamReader(@"..\..\test.xml"))
{
  doc = XDocument.Load(reader1);
  var nodes = from c in doc.Descendants("user_tuple")
                           .Where(d => d.Element("userid").Value == id && d.Element("rating").Value == rating)
              select c;
}
于 2013-08-19T12:59:46.310 回答