Class CompositeNode
名称: Aspose.Note 集合: Aspose.Note.dll (25.4.0)
基因类为可能包含其他 nodes 的节点。
public abstract class CompositeNode<T> : CompositeNodeBase, INode, ICompositeNode<T>, ICompositeNode, IEnumerable<T>, IEnumerable where T : INode
{
public void Add(T node)
{
if (node == null)
throw new ArgumentNullException("node");
_children.Add(node);
}
protected override void OnChildAdded(INode child)
{
base.OnChildAdded(child);
foreach (var c in ChildNodes)
c.Parent = this;
}
}
类型参数
T
组合节点中的元素类型。
Inheritance
object
←
Node
←
CompositeNodeBase
←
CompositeNode
Implements
INode
,
ICompositeNode
继承人
CompositeNodeBase.GetChildNodes(NodeType)
,
CompositeNodeBase.GetChildNodes
Constructors
合成型(NodeType)
启动 Aspose.Note.CompositeNode`1 类的新例子。
protected CompositeNode(NodeType nodeType)
{
}
Parameters
nodeType
NodeType
节点的类型。
Properties
FirstChild
接收这个节点的第一个儿童节。
public T FirstChild
{
get;
}
财产价值
T
Examples
显示如何检查一页是否是一个冲突页面(即它有 OneNote 无法自动合并的变更)。
string dataDir = RunExamples.GetDataDir_Pages();
Document doc = new Document(dataDir + "Aspose.one", new LoadOptions { LoadHistory = true });
var history = doc.GetPageHistory(doc.FirstChild);
for (int i = 0; i < history.Count; i++)
{
var historyPage = history[i];
Console.Write(" {0}. Author: {1}, {2:dd.MM.yyyy hh.mm.ss}",
i,
historyPage.PageContentRevisionSummary.AuthorMostRecent,
historyPage.PageContentRevisionSummary.LastModifiedTime);
Console.WriteLine(historyPage.IsConflictPage ? ", IsConflict: true" : string.Empty);
if (historyPage.IsConflictPage)
historyPage.IsConflictPage = false;
}
doc.Save(dataDir + "ConflictPageManipulation_out.one", SaveFormat.One);
IsComposite
检查节点是否合成,如果是真实的,节點可以有子節。
public override sealed bool IsComposite
{
get;
}
财产价值
LastChild
接到这个节点的最后一个婴儿节。
public T LastChild
{
get;
}
财产价值
T
Methods
接收文件(DocumentVisitor)
接待节点的参观者。
public override void Accept(Aspose.Words.DocumentVisitor visitor)
{
}
Parameters
visitor
DocumentVisitor
一个类的对象源于 Aspose.Note.DocumentVisitor。
AppendChildFirst(T1)
将节点添加到本节的子节列表的前面。
public virtual T AppendChildFirst<T>(T newChild) where T : this.T
{
}
Parameters
newChild
T1
添加的节点。
Returns
T1
添加节点。
类型参数
T1
正确的附加节点类型。
AppendChildLast(T1)
将节点添加到本节目的子节列表的尽头。
public override T AppendChildLast<t1>(t1 newChild) where t1 : t
{
}
Parameters
newChild
T1
添加的节点。
Returns
T1
添加节点。
类型参数
T1
正确的附加节点类型。
GetChildNodes(NodeType)
按节点类型获取所有儿童节。
[Obsolete("Use GetChildNodes<t>() method instead.")]
public override List<inode> GetChildNodes(NodeType type)
{
}
Parameters
type
NodeType
节点类型。
Returns
儿童节点列表
GetChildNodes()
根据节点类型获取所有儿童节。
public override List<t1> GetChildNodes<t1>() where T1 : class, INode
{
}
Returns
儿童节点列表
类型参数
T1
返回列表中的元素类型。
Examples
显示如何从文件中获取图像。
string dataDir = RunExamples.GetDataDir_Images();
Document oneFile = new Document(dataDir + "Aspose.one");
IList<aspose.note.Image> nodes = oneFile.GetChildNodes<aspose.note.Image>();
foreach (Aspose.Note.Image image in nodes)
{
using (MemoryStream stream = new MemoryStream(image.Bytes))
{
using (Bitmap bitMap = new Bitmap(stream))
{
bitMap.Save(String.Format(dataDir + "{0}", Path.GetFileName(image.FileName)));
}
}
}
显示如何获取图像的 meta 信息。
string dataDir = RunExamples.GetDataDir_Images();
Document oneFile = new Document(dataDir + "Aspose.one");
IList<aspose.note.Image> images = oneFile.GetChildNodes<aspose.note.Image>();
foreach (Aspose.Note.Image image in images)
{
Console.WriteLine("Width: {0}", image.Width);
Console.WriteLine("Height: {0}", image.Height);
Console.WriteLine("OriginalWidth: {0}", image.OriginalWidth);
Console.WriteLine("OriginalHeight: {0}", image.OriginalHeight);
Console.WriteLine("FileName: {0}", image.FileName);
Console.WriteLine("LastModifiedTime: {0}", image.LastModifiedTime);
Console.WriteLine();
}
编号( )
返回通过 Aspose.Note.CompositeNode`1 的儿童节点的列表器。
public IEnumerator<t> GetEnumerator()
{
}
Returns
一个数字化1 for the Aspose.Note.CompositeNode
1.
InsertChild(重定向,T1)
将节点插入该节目的子节列表中所指定的位置。
public virtual T InsertChild<T>(int index, T newChild) where T : baseType
{
}
Parameters
i
int
插入的位置
newChild
T1
插入的节点。
Returns
T1
添加节点。
类型参数
T1
正确的插入节点类型。
InsertChildrenRange(英格兰, IEnumerable))
将从指定的位置开始的节点序列插入该节目的子节列表中。
public void InsertChildrenRange(int i, IEnumerable<t> newChildren)
{
}
Parameters
i
int
插入的位置
newChildren
IEnumerable
要插入的节点序列。
InsertChildrenRange(int、params T)[])
将从指定的位置开始的节点序列插入该节目的子节列表中。
public void InsertChildrenRange(int i, params T[] newChildren)
{
}
Parameters
i
int
插入的位置
newChildren
T( )
要插入的节点序列。
RemoveChild(T1)
取出孩子的节点。
public T RemoveChild<T>(T oldChild) where T : T1
{
}
Parameters
oldChild
T1
要取消的节点。
Returns
T1
除去的节点。
类型参数
T1
正确的移除节点类型。