C# 使用Linq读取XML文件不是读取元素
我无法从这个xml响应中获得值,我将感谢任何帮助C# 使用Linq读取XML文件不是读取元素,c#,xml,linq,C#,Xml,Linq,我无法从这个xml响应中获得值,我将感谢任何帮助 <Response> <Result> <Item1>GREEN</Item1> <Item2>05/19/2017 22:08:14</Item2> </Result> <Other> <Id>xxxxxxxxxxxxc</Id> </Other> </Response
<Response>
<Result>
<Item1>GREEN</Item1>
<Item2>05/19/2017 22:08:14</Item2>
</Result>
<Other>
<Id>xxxxxxxxxxxxc</Id>
</Other>
</Response>
使用解析而不是加载。由于字符串中的额外字符,您也可能会遇到错误。在您发布的字符串中有单引号。不确定单引号是否在实际使用的字符串中
string responseXml = "<Response>" +
"<Result>" +
"<Item1>GREEN</Item1>" +
"<Item2>05/19/2017 22:08:14</Item2>" +
"</Result>" +
"<Other>" +
"<Id>xxxxxxxxxxxxc</Id>" +
"</Other>" +
"</Response>";
XElement doc = XElement.Parse(responseXml);
var results = from p in
doc.Descendants("Result")
select new
{
item = p.Element("Item1").Value,
};
foreach (var elm in results)
{
Console.WriteLine(elm.item);
}
string responseXml=“”+
"" +
“绿色”+
"05/19/2017 22:08:14" +
"" +
"" +
“XXXXXXXXXX C”+
"" +
"";
XElement doc=XElement.Parse(responseXml);
var结果=来自p in
文件后代(“结果”)
选择新的
{
项目=p.元素(“项目1”).值,
};
foreach(结果中的var elm)
{
控制台写入线(elm.item);
}
您需要提供一个。正如您在中所看到的,如果您运行代码,将问题中的XML替换为reponseXml
,则输出为GREEN
——您的代码正常工作。
string responseXml = "<Response>" +
"<Result>" +
"<Item1>GREEN</Item1>" +
"<Item2>05/19/2017 22:08:14</Item2>" +
"</Result>" +
"<Other>" +
"<Id>xxxxxxxxxxxxc</Id>" +
"</Other>" +
"</Response>";
XElement doc = XElement.Parse(responseXml);
var results = from p in
doc.Descendants("Result")
select new
{
item = p.Element("Item1").Value,
};
foreach (var elm in results)
{
Console.WriteLine(elm.item);
}