选择字符串中的某些值

时间:2015-08-06 14:25:40

标签: c# asp.net string select

我有一个字符串,我需要从字符串的ViewField部分提取所有FieldRef名称。它们需要输入到数组中。从来没有挣扎过一段时间,因为我是c#的新手。感谢。

<View>
  <Query>
    <OrderBy>
     <FieldRef Name="ID" />
    </OrderBy>
  </Query>
  <ViewFields>
    <FieldRef Name="LinkTitle" />
    <FieldRef Name="User" />
    <FieldRef Name="Permissions" />
  </ViewFields>
  <RowLimit Paged="TRUE">30</RowLimit>
  <JSLink>clienttemplates.js</JSLink>
  <XslLink Default="TRUE">main.xsl</XslLink>
  <Toolbar Type="Standard"/>
</View>

3 个答案:

答案 0 :(得分:2)

这仅返回FieldRef中的ViewFields

var doc = XDocument.Parse(xmlString);
var results = doc.Root.Element("ViewFields").Elements("FieldRef")
                 .Select(e => e.Attribute("Name").Value);

答案 1 :(得分:0)

您可以使用XDocument将字符串加载为xml,然后使用Linq获取值。

  var doc = XDocument.Parse(str);
  var res = doc
             .Descendants("ViewFields")
             .Descendants("FieldRef")
             .Select(x => x.Attribute("Name").Value);

答案 2 :(得分:0)

Load方法尝试从文件加载xml,从字符串加载LoadXml

    XmlDocument xmlDoc = new XmlDocument();
    xmlDoc.LoadXml(xml);

    string xpath = "View/Query/ViewFields";
    var nodes = xmlDoc.SelectNodes(xpath);

    foreach (XmlNode childrenNode in nodes)
    {
       var arr = childrenNode.SelectSingleNode("//FieldRef").Value;
    }