SmartTag
SmartTag class
Cet élément spécifie la présence d’une balise intelligente autour d’une ou plusieurs structures en ligne (exécutions, images, champs, etc.) dans un paragraphe.
Pour en savoir plus, visitez leBalises de documents structurés ou contrôle de contenu article de documentation.
public class SmartTag : CompositeNode
Constructeurs
Nom | La description |
---|---|
SmartTag(DocumentBase) | Initialise une nouvelle instance duSmartTag classe. |
Propriétés
Nom | La description |
---|---|
Count { get; } | Obtient le nombre d’enfants immédiats de ce nœud. |
CustomNodeId { get; set; } | Spécifie l’identifiant de nœud personnalisé. |
virtual Document { get; } | Obtient le document auquel appartient ce nœud. |
Element { get; set; } | Spécifie le nom de la balise active dans le document. |
FirstChild { get; } | Obtient le premier enfant du nœud. |
HasChildNodes { get; } | Retoursvrai si ce nœud a des nœuds enfants. |
override IsComposite { get; } | Retoursvrai car ce nœud peut avoir des nœuds enfants. |
LastChild { get; } | Obtient le dernier enfant du nœud. |
NextSibling { get; } | Obtient le nœud suivant immédiatement ce nœud. |
override NodeType { get; } | RetoursSmartTag . |
ParentNode { get; } | Obtient le parent immédiat de ce nœud. |
PreviousSibling { get; } | Obtient le nœud précédant immédiatement ce nœud. |
Properties { get; } | Une collection de propriétés de balises intelligentes. |
Range { get; } | Renvoie unRange objet qui représente la partie d’un document contenue dans ce nœud. |
Uri { get; set; } | Spécifie l’URI de l’espace de noms de la balise active. |
Méthodes
Nom | La description |
---|---|
override Accept(DocumentVisitor) | Accepte un visiteur. |
override AcceptEnd(DocumentVisitor) | Accepte un visiteur pour avoir visité la fin du SmartTag. |
override AcceptStart(DocumentVisitor) | Accepte un visiteur pour visiter le début du SmartTag. |
AppendChild<T>(T) | Ajoute le nœud spécifié à la fin de la liste des nœuds enfants pour ce nœud. |
Clone(bool) | Crée un doublon du nœud. |
CreateNavigator() | Crée un navigateur qui peut être utilisé pour parcourir et lire les nœuds. |
GetAncestor(NodeType) | Obtient le premier ancêtre du spécifiéNodeType . |
GetAncestor(Type) | Obtient le premier ancêtre du type d’objet spécifié. |
GetChild(NodeType, int, bool) | Renvoie un Nième nœud enfant qui correspond au type spécifié. |
GetChildNodes(NodeType, bool) | Renvoie une collection active de nœuds enfants qui correspondent au type spécifié. |
GetEnumerator() | Fournit un support pour chaque itération de style sur les nœuds enfants de ce nœud. |
override GetText() | Obtient le texte de ce nœud et de tous ses enfants. |
IndexOf(Node) | Renvoie l’index du nœud enfant spécifié dans le tableau de nœuds enfants. |
InsertAfter<T>(T, Node) | Insère le nœud spécifié immédiatement après le nœud de référence spécifié. |
InsertBefore<T>(T, Node) | Insère le nœud spécifié immédiatement avant le nœud de référence spécifié. |
NextPreOrder(Node) | Obtient le nœud suivant selon l’algorithme de parcours de l’arbre de pré-ordre. |
PrependChild<T>(T) | Ajoute le nœud spécifié au début de la liste des nœuds enfants pour ce nœud. |
PreviousPreOrder(Node) | Obtient le nœud précédent selon l’algorithme de parcours de l’arbre de pré-ordre. |
Remove() | Se supprime du parent. |
RemoveAllChildren() | Supprime tous les nœuds enfants du nœud actuel. |
RemoveChild<T>(T) | Supprime le nœud enfant spécifié. |
RemoveSmartTags() | Supprime toutSmartTag nœuds descendants du nœud actuel. |
SelectNodes(string) | Sélectionne une liste de nœuds correspondant à l’expression XPath. |
SelectSingleNode(string) | Sélectionne le premierNode qui correspond à l’expression XPath. |
ToString(SaveFormat) | Exporte le contenu du nœud dans une chaîne au format spécifié. |
ToString(SaveOptions) | Exporte le contenu du nœud dans une chaîne en utilisant les options de sauvegarde spécifiées. |
Remarques
Les balises intelligentes sont un type de balisage XML personnalisé. Elles permettent d’intégrer une sémantique définie par le client dans le document grâce à la possibilité de fournir un espace de noms de base/nom pour une exécution ou un ensemble d’exécutions au sein d’un document.
SmartTag
peut être un enfant d’unParagraph
ou un autreSmartTag
nœud.
La liste complète des nœuds enfants qui peuvent apparaître à l’intérieur d’une balise intelligente se compose de BookmarkStart
,BookmarkEnd
, FieldStart
,FieldSeparator
,FieldEnd
,FormField
, Comment
,Footnote
, Run
,SpecialChar
, Shape
,GroupShape
, CommentRangeStart
, CommentRangeEnd
, SmartTag
.
Exemples
Montre comment créer des balises intelligentes.
public void Create()
{
Document doc = new Document();
// Une balise active apparaît dans un document avec Microsoft Word qui reconnaît une partie de son texte comme une forme de données,
// comme un nom, une date ou une adresse, et le convertit en un lien hypertexte qui affiche un soulignement en pointillé violet.
SmartTag smartTag = new SmartTag(doc);
// Les balises intelligentes sont des nœuds composites qui contiennent leur texte reconnu dans son intégralité.
// Ajoutez manuellement du contenu à cette balise intelligente.
smartTag.AppendChild(new Run(doc, "May 29, 2019"));
// Microsoft Word peut reconnaître le contenu ci-dessus comme étant une date.
// Les balises intelligentes utilisent la propriété « Élément » pour refléter le type de données qu'elles contiennent.
smartTag.Element = "date";
// Certains types de balises intelligentes traitent ensuite leur contenu dans des propriétés XML personnalisées.
smartTag.Properties.Add(new CustomXmlProperty("Day", string.Empty, "29"));
smartTag.Properties.Add(new CustomXmlProperty("Month", string.Empty, "5"));
smartTag.Properties.Add(new CustomXmlProperty("Year", string.Empty, "2019"));
// Définissez l'URI de la balise intelligente sur la valeur par défaut.
smartTag.Uri = "urn:schemas-microsoft-com:office:smarttags";
doc.FirstSection.Body.FirstParagraph.AppendChild(smartTag);
doc.FirstSection.Body.FirstParagraph.AppendChild(new Run(doc, " is a date. "));
// Créez une autre balise intelligente pour un symbole boursier.
smartTag = new SmartTag(doc);
smartTag.Element = "stockticker";
smartTag.Uri = "urn:schemas-microsoft-com:office:smarttags";
smartTag.AppendChild(new Run(doc, "MSFT"));
doc.FirstSection.Body.FirstParagraph.AppendChild(smartTag);
doc.FirstSection.Body.FirstParagraph.AppendChild(new Run(doc, " is a stock ticker."));
// Imprimez toutes les balises intelligentes de notre document à l'aide d'un visiteur de document.
doc.Accept(new SmartTagPrinter());
// Les anciennes versions de Microsoft Word prennent en charge les balises intelligentes.
doc.Save(ArtifactsDir + "SmartTag.Create.doc");
// Utilisez la méthode « RemoveSmartTags » pour supprimer toutes les balises intelligentes d'un document.
Assert.AreEqual(2, doc.GetChildNodes(NodeType.SmartTag, true).Count);
doc.RemoveSmartTags();
Assert.AreEqual(0, doc.GetChildNodes(NodeType.SmartTag, true).Count);
}
/// <summary>
/// Imprime les balises intelligentes visitées et leur contenu.
/// </summary>
private class SmartTagPrinter : DocumentVisitor
{
/// <summary>
/// Appelé lorsqu'un nœud SmartTag est rencontré dans le document.
/// </summary>
public override VisitorAction VisitSmartTagStart(SmartTag smartTag)
{
Console.WriteLine($"Smart tag type: {smartTag.Element}");
return VisitorAction.Continue;
}
/// <summary>
/// Appelé lorsque la visite d'un nœud SmartTag est terminée.
/// </summary>
public override VisitorAction VisitSmartTagEnd(SmartTag smartTag)
{
Console.WriteLine($"\tContents: \"{smartTag.ToString(SaveFormat.Text)}\"");
if (smartTag.Properties.Count == 0)
{
Console.WriteLine("\tContains no properties");
}
else
{
Console.Write("\tProperties: ");
string[] properties = new string[smartTag.Properties.Count];
int index = 0;
foreach (CustomXmlProperty cxp in smartTag.Properties)
properties[index++] = $"\"{cxp.Name}\" = \"{cxp.Value}\"";
Console.WriteLine(string.Join(", ", properties));
}
return VisitorAction.Continue;
}
}
Voir également
- class CompositeNode
- espace de noms Aspose.Words.Markup
- Assemblée Aspose.Words