本文整理汇总了C#中XDoc.VisitOnly方法的典型用法代码示例。如果您正苦于以下问题:C# XDoc.VisitOnly方法的具体用法?C# XDoc.VisitOnly怎么用?C# XDoc.VisitOnly使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类XDoc
的用法示例。
在下文中一共展示了XDoc.VisitOnly方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: VisitOnly_select_nodes_with_other_attr
public void VisitOnly_select_nodes_with_other_attr()
{
XDoc doc = new XDoc("test").Attr("attr", 1).Start("a").Attr("attr", 2).Start("aa").Attr("attr", 3).Attr("other", 4).Value("test").End().End();
var selection = (from x in doc.VisitOnly(x => x.HasName("test")) where x.HasAttr("attr") select x);
Assert.AreEqual(2, selection.Count());
}
示例2: VisitOnly_with_end_element_callback_only_calls_on_element_exit_of_visited_elements
public void VisitOnly_with_end_element_callback_only_calls_on_element_exit_of_visited_elements()
{
var doc = new XDoc("a").Start("b").Start("c").Elem("d").End().Elem("e").End().Elem("f");
var builder = new StringBuilder();
foreach(var node in doc.VisitOnly(x => x.Name != "c", x => builder.Append(x.Name + "<"))) {
builder.Append(">" + node.Name);
}
Assert.AreEqual(">a>b>cc<>ee<b<>ff<a<", builder.ToString());
}
示例3: EnumerateChildrenPredicate_gets_called_before_parent_is_enumerated
public void EnumerateChildrenPredicate_gets_called_before_parent_is_enumerated()
{
var doc = new XDoc("a").Start("b").Start("c").Elem("d").End().Elem("e").End().Elem("f");
XmlNode current = null;
foreach(var node in doc.VisitOnly(x => { current = x.AsXmlNode; return true; })) {
Assert.AreEqual(current, node.AsXmlNode);
}
}