C# 基于另一个元素值选择XML元素 A. 1. B 2.
如何根据C# 基于另一个元素值选择XML元素 A. 1. B 2.,c#,xml,linq,C#,Xml,Linq,如何根据名称元素选择值元素的值 编辑:在XDocument中,当我有“a”时,如何获得值“1”。好吧,想想看 您可以轻松地读取XML文件,只要检查的内部文本是否与您的条件匹配,就可以读取标记的值 这是你可以得到的答案。好吧,想一想 您可以轻松地读取XML文件,只要检查的内部文本是否与您的条件匹配,就可以读取标记的值 这是您可以得到的答案。您可以试试这个, 可能有帮助 你可以试试这个, 可能有帮助 这应该做到: (假设doc是XDocument的一个实例) 在这种情况下,项将产生一个IEnumer
名称
元素选择值
元素的值
编辑:在XDocument中,当我有“a”时,如何获得值“1”。好吧,想想看 您可以轻松地读取XML文件,只要检查
的内部文本是否与您的条件匹配,就可以读取
标记的值
这是你可以得到的答案。好吧,想一想 您可以轻松地读取XML文件,只要检查
的内部文本是否与您的条件匹配,就可以读取
标记的值
这是您可以得到的答案。您可以试试这个,
可能有帮助
你可以试试这个,
可能有帮助
这应该做到:
(假设doc
是XDocument
的一个实例)
在这种情况下,项
将产生一个IEnumerable
如果您知道您只想要一个值:
string name = "a";
var items = doc.Descendants("Sub")
.Where(s => (string)s.Element("Name") == name)
.Select(s => s.Element("Value").Value);
这应该做到:
(假设doc
是XDocument
的一个实例)
在这种情况下,项
将产生一个IEnumerable
如果您知道您只想要一个值:
string name = "a";
var items = doc.Descendants("Sub")
.Where(s => (string)s.Element("Name") == name)
.Select(s => s.Element("Value").Value);
我建议您使用强制转换节点,而不是直接访问
Value
属性:
string name = "a";
string value = doc.Descendants("Sub")
.Where(s => (string)s.Element("Name") == name)
.Select(s => s.Element("Value").Value)
.FirstOrDefault();
如果缺少节点的默认值(零)不符合您的需要,则可以在获取值之前检查必需的Sub
元素是否存在:
int value = xdoc.Descendants("Sub")
.Where(s => (string)s.Element("Name") == "a")
.Select(s => (int)s.Element("Value"))
.FirstOrDefault();
或使用XPath和Linq的简单一行:
var sub = xdoc.Descendants("Sub")
.FirstOrDefault(s => (string)s.Element("Name") == "a");
if (sub != null)
value = (int)sub.Element("Value");
我建议您使用强制转换节点,而不是直接访问
Value
属性:
string name = "a";
string value = doc.Descendants("Sub")
.Where(s => (string)s.Element("Name") == name)
.Select(s => s.Element("Value").Value)
.FirstOrDefault();
如果缺少节点的默认值(零)不符合您的需要,则可以在获取值之前检查必需的Sub
元素是否存在:
int value = xdoc.Descendants("Sub")
.Where(s => (string)s.Element("Name") == "a")
.Select(s => (int)s.Element("Value"))
.FirstOrDefault();
或使用XPath和Linq的简单一行:
var sub = xdoc.Descendants("Sub")
.FirstOrDefault(s => (string)s.Element("Name") == "a");
if (sub != null)
value = (int)sub.Element("Value");
你的确切意思是什么?你的确切意思是什么?标记为答案,因为我完全忘记了XPath,应该使用它。标记为答案,因为我完全忘记了XPath,应该使用它。