我有一个字符串,我需要从字符串的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>
答案 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;
}