SmartTag
SmartTag class
Dieses Element gibt das Vorhandensein eines Smarttags um eine oder mehrere Inline-Strukturen (Läufe, Bilder, Felder usw.) innerhalb eines Absatzes an.
Um mehr zu erfahren, besuchen Sie dieStrukturierte Dokument-Tags oder Inhaltskontrolle Dokumentationsartikel.
public class SmartTag : CompositeNode
Konstrukteure
Name | Beschreibung |
---|---|
SmartTag(DocumentBase) | Initialisiert eine neue Instanz vonSmartTag Klasse. |
Eigenschaften
Name | Beschreibung |
---|---|
Count { get; } | Ruft die Anzahl der unmittelbaren Kinder dieses Knotens ab. |
CustomNodeId { get; set; } | Gibt die benutzerdefinierte Knotenkennung an. |
virtual Document { get; } | Ruft das Dokument ab, zu dem dieser Knoten gehört. |
Element { get; set; } | Gibt den Namen des Smarttags im Dokument an. |
FirstChild { get; } | Ruft das erste untergeordnete Element des Knotens ab. |
HasChildNodes { get; } | Gibt zurückWAHR wenn dieser Knoten untergeordnete Knoten hat. |
override IsComposite { get; } | Gibt zurückWAHR da dieser Knoten untergeordnete Knoten haben kann. |
LastChild { get; } | Ruft das letzte untergeordnete Element des Knotens ab. |
NextSibling { get; } | Ruft den Knoten ab, der diesem Knoten unmittelbar folgt. |
override NodeType { get; } | Gibt zurückSmartTag . |
ParentNode { get; } | Ruft das unmittelbare übergeordnete Element dieses Knotens ab. |
PreviousSibling { get; } | Ruft den Knoten ab, der diesem Knoten unmittelbar vorangeht. |
Properties { get; } | Eine Sammlung der Smart-Tag-Eigenschaften. |
Range { get; } | Gibt a zurückRange Objekt, das den Teil eines Dokuments darstellt, der in diesem Knoten enthalten ist. |
Uri { get; set; } | Gibt den Namespace-URI des Smarttags an. |
Methoden
Name | Beschreibung |
---|---|
override Accept(DocumentVisitor) | Akzeptiert einen Besucher. |
AppendChild(Node) | Fügt den angegebenen Knoten am Ende der Liste der untergeordneten Knoten für diesen Knoten hinzu. |
Clone(bool) | Erstellt ein Duplikat des Knotens. |
CreateNavigator() | Erstellt einen Navigator, der zum Durchlaufen und Lesen von Knoten verwendet werden kann. |
GetAncestor(NodeType) | Ruft den ersten Vorfahren des angegebenen abNodeType . |
GetAncestor(Type) | Ruft den ersten Vorfahren des angegebenen Objekttyps ab. |
GetChild(NodeType, int, bool) | Gibt einen N-ten untergeordneten Knoten zurück, der dem angegebenen Typ entspricht. |
GetChildNodes(NodeType, bool) | Gibt eine Live-Sammlung untergeordneter Knoten zurück, die dem angegebenen Typ entsprechen. |
GetEnumerator() | Bietet Unterstützung für die Iteration jedes Stils über die untergeordneten Knoten dieses Knotens. |
override GetText() | Ruft den Text dieses Knotens und aller seiner untergeordneten Knoten ab. |
IndexOf(Node) | Gibt den Index des angegebenen untergeordneten Knotens im untergeordneten Knoten-Array zurück. |
InsertAfter(Node, Node) | Fügt den angegebenen Knoten unmittelbar nach dem angegebenen Referenzknoten ein. |
InsertBefore(Node, Node) | Fügt den angegebenen Knoten unmittelbar vor dem angegebenen Referenzknoten ein. |
NextPreOrder(Node) | Ruft den nächsten Knoten gemäß dem Pre-Order-Tree-Traversal-Algorithmus ab. |
PrependChild(Node) | Fügt den angegebenen Knoten am Anfang der Liste der untergeordneten Knoten für diesen Knoten hinzu. |
PreviousPreOrder(Node) | Ruft den vorherigen Knoten gemäß dem Pre-Order-Tree-Traversal-Algorithmus ab. |
Remove() | Entfernt sich selbst vom übergeordneten Element. |
RemoveAllChildren() | Entfernt alle untergeordneten Knoten des aktuellen Knotens. |
RemoveChild(Node) | Entfernt den angegebenen untergeordneten Knoten. |
RemoveSmartTags() | Entfernt alleSmartTag Nachkommenknoten des aktuellen Knotens. |
SelectNodes(string) | Wählt eine Liste von Knoten aus, die dem XPath-Ausdruck entsprechen. |
SelectSingleNode(string) | Wählt den ersten ausNode das entspricht dem XPath-Ausdruck. |
ToString(SaveFormat) | Exportiert den Inhalt des Knotens in einen String im angegebenen Format. |
ToString(SaveOptions) | Exportiert den Inhalt des Knotens mit den angegebenen Speicheroptionen in einen String. |
Bemerkungen
Smart Tags sind eine Art benutzerdefiniertes XML-Markup. Smart Tags bieten die Möglichkeit, kundenspezifische Semantik in das Dokument einzubetten, indem sie einen grundlegenden Namespace/Name für einen Lauf oder eine Reihe von Läufen innerhalb eines Dokuments bereitstellen.
SmartTag
kann ein Kind von a seinParagraph
oder ein andererSmartTag
Knoten.
Die vollständige Liste der untergeordneten Knoten, die innerhalb eines Smarttags vorkommen können, besteht aus BookmarkStart
,BookmarkEnd
, FieldStart
,FieldSeparator
,FieldEnd
,FormField
, Comment
,Footnote
, Run
,SpecialChar
, Shape
,GroupShape
, CommentRangeStart
, CommentRangeEnd
, SmartTag
.
Beispiele
Zeigt, wie man Smarttags erstellt.
public void Create()
{
Document doc = new Document();
// Ein Smarttag erscheint in einem Dokument, wobei Microsoft Word einen Teil seines Textes als irgendeine Form von Daten erkennt.
// beispielsweise einen Namen, ein Datum oder eine Adresse und wandelt ihn in einen Hyperlink um, der eine violette gepunktete Unterstreichung anzeigt.
SmartTag smartTag = new SmartTag(doc);
// Smart Tags sind zusammengesetzte Knoten, die ihren erkannten Text vollständig enthalten.
// Inhalte manuell zu diesem Smarttag hinzufügen.
smartTag.AppendChild(new Run(doc, "May 29, 2019"));
// Microsoft Word erkennt die oben genannten Inhalte möglicherweise als Datum.
// Smart Tags verwenden die Eigenschaft „Element“, um den Typ der darin enthaltenen Daten widerzuspiegeln.
smartTag.Element = "date";
// Einige Smart-Tag-Typen verarbeiten ihren Inhalt weiter in benutzerdefinierte XML-Eigenschaften.
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"));
// Setze den URI des Smarttags auf den Standardwert.
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. "));
// Erstellen Sie ein weiteres Smarttag für einen Börsenticker.
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."));
// Drucken Sie alle Smarttags in unserem Dokument mithilfe eines Dokumentbesuchers.
doc.Accept(new SmartTagPrinter());
// Ältere Versionen von Microsoft Word unterstützen Smart Tags.
doc.Save(ArtifactsDir + "SmartTag.Create.doc");
// Verwenden Sie die Methode „RemoveSmartTags“, um alle Smart Tags aus einem Dokument zu entfernen.
Assert.AreEqual(2, doc.GetChildNodes(NodeType.SmartTag, true).Count);
doc.RemoveSmartTags();
Assert.AreEqual(0, doc.GetChildNodes(NodeType.SmartTag, true).Count);
}
/// <summary>
/// Druckt besuchte Smarttags und deren Inhalte.
/// </summary>
private class SmartTagPrinter : DocumentVisitor
{
/// <summary>
/// Wird aufgerufen, wenn im Dokument ein SmartTag-Knoten gefunden wird.
/// </summary>
public override VisitorAction VisitSmartTagStart(SmartTag smartTag)
{
Console.WriteLine($"Smart tag type: {smartTag.Element}");
return VisitorAction.Continue;
}
/// <summary>
/// Wird aufgerufen, wenn der Besuch eines SmartTag-Knotens beendet wird.
/// </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;
}
}
Siehe auch
- class CompositeNode
- namensraum Aspose.Words.Markup
- Montage Aspose.Words