LINQ to XML获取没有节点的值

时间:2011-06-17 18:03:31

标签: c# xml linq-to-xml

我有这个XML:

<chunk type="manufacturer_info" id="" note="">test: <chunk type="style" style="link">${manufacturer_website}</chunk></chunk>

我需要将“test:”与内部元素分开。

编辑: 这将成为一个XElement函数。

2 个答案:

答案 0 :(得分:2)

&lt; chunk&gt; element有两个子节点:一个文本节点和一个&lt; chunk&gt;元件。

您可以按如下方式获取文本节点的值:

var element = XElement.Parse(@"<chunk type=""manufacturer_info"" ...");

var result = string.Concat(element.Nodes().OfType<XText>());
// result == "test: "

答案 1 :(得分:1)

你走了。

          string xml =  @"<Chunks><chunk type='manufacturer_info' id='' note=''>test:                <chunk type='style' style='link'>${manufacturer_website}</chunk></chunk></Chunks>";

          var xDoc = XDocument.Parse(xml);
          var res = xDoc.DescendantNodes().OfType<XText>().First().Value;