ToArray
Contenu
[
Cacher
]NodeCollection.ToArray method
Copie tous les nœuds de la collection vers un nouveau tableau de nœuds.
public Node[] ToArray()
Return_Value
Un tableau de nœuds.
Remarques
Vous ne devez pas ajouter/supprimer des nœuds lors d’une itération sur une collection de nœuds, car cela invalide l’itérateur et nécessite des actualisations pour les collections en direct.
Pour pouvoir ajouter/supprimer des nœuds pendant l’itération, utilisez cette méthode pour copier les nœuds dans un tableau de taille fixe, puis parcourir le tableau.
Exemples
Montre comment remplacer toutes les formes de zone de texte par des formes d’image.
Document doc = new Document(MyDir + "Textboxes in drawing canvas.docx");
Shape[] shapes = doc.GetChildNodes(NodeType.Shape, true).OfType<Shape>().ToArray();
Assert.AreEqual(3, shapes.Count(s => s.ShapeType == ShapeType.TextBox));
Assert.AreEqual(1, shapes.Count(s => s.ShapeType == ShapeType.Image));
foreach (Shape shape in shapes)
{
if (shape.ShapeType == ShapeType.TextBox)
{
Shape replacementShape = new Shape(doc, ShapeType.Image);
replacementShape.ImageData.SetImage(ImageDir + "Logo.jpg");
replacementShape.Left = shape.Left;
replacementShape.Top = shape.Top;
replacementShape.Width = shape.Width;
replacementShape.Height = shape.Height;
replacementShape.RelativeHorizontalPosition = shape.RelativeHorizontalPosition;
replacementShape.RelativeVerticalPosition = shape.RelativeVerticalPosition;
replacementShape.HorizontalAlignment = shape.HorizontalAlignment;
replacementShape.VerticalAlignment = shape.VerticalAlignment;
replacementShape.WrapType = shape.WrapType;
replacementShape.WrapSide = shape.WrapSide;
shape.ParentNode.InsertAfter(replacementShape, shape);
shape.Remove();
}
}
shapes = doc.GetChildNodes(NodeType.Shape, true).OfType<Shape>().ToArray();
Assert.AreEqual(0, shapes.Count(s => s.ShapeType == ShapeType.TextBox));
Assert.AreEqual(4, shapes.Count(s => s.ShapeType == ShapeType.Image));
doc.Save(ArtifactsDir + "Shape.ReplaceTextboxesWithImages.docx");
Voir également
- class Node
- class NodeCollection
- espace de noms Aspose.Words
- Assemblée Aspose.Words