Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.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# 处理LINQXML字符串_C#_Linq_Mono - Fatal编程技术网

C# 处理LINQXML字符串

C# 处理LINQXML字符串,c#,linq,mono,C#,Linq,Mono,我需要用Linq解析XML字符串,我想出了以下代码 using System; using System.Linq; using System.Xml.Linq; class LinqXml { public void Parse(string input) { XDocument xdoc = XDocument.Load(input); var lang = from d in xdoc.Elements("PipeUnit").Elements("Ste

我需要用Linq解析XML字符串,我想出了以下代码

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

class LinqXml 
{
    public void Parse(string input)
    {
    XDocument xdoc = XDocument.Load(input);
    var lang = from d in xdoc.Elements("PipeUnit").Elements("Step").Elements("Pipelist").Elements("NamedPipe").Elements("NameOfPipe") select d;

    Console.WriteLine(lang.First().Value);

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

    static void Main()
    {

        string tempString = @"
<PipeUnit>
  <Step>
    <Pipelist>
      <NamedPipe>
        <NameOfPipe>Name</NameOfPipe>
        <PipeData>Data</PipeData>
      </NamedPipe>
    </Pipelist>
  </Step>
</PipeUnit>        
        ";
        var linqXml = new LinqXml();
        linqXml.Parse(tempString);
    }
}

可能有什么问题?

在您的解析方法中,您希望

XDocument.Parse(input)
替换此项:

  XDocument xdoc = XDocument.Load(input);
与:

您正在传递的是XML,而不是文件名。

Replace

XDocument xdoc = XDocument.Load(input);


这是因为你的XML是无效的:它应该是无效的,而不是在最后——你得到的例外情况就是这样。
  XDocument xdoc = XDocument.Parse(input);
XDocument xdoc = XDocument.Load(input);
XDocument xdoc = XDocument.Parse(input);