Word.CustomXmlPartCollection class
Enthält die Auflistung von Word. CustomXmlPart-Objekte.
- Extends
Hinweise
Eigenschaften
context | Der Anforderungskontext, der dem -Objekt zugeordnet ist. Dadurch wird der Prozess des Add-Ins mit dem Prozess der Office-Hostanwendung verbunden. |
items | Ruft die geladenen untergeordneten Elemente in dieser Sammlung ab. |
Methoden
add(xml) | Fügt dem Dokument eine neue benutzerdefinierte XML-Komponente hinzu. |
get |
Ruft eine neue bereichsbezogene Sammlung von benutzerdefinierten XML-Komponenten ab, deren Namespaces dem angegebenen Namespace entsprechen. |
get |
Ruft die Anzahl der Elemente in der Auflistung ab. |
get |
Ruft eine benutzerdefinierte XML-Komponente basierend auf ihrer ID ab. |
get |
Ruft eine benutzerdefinierte XML-Komponente basierend auf ihrer ID ab. Wenn CustomXmlPart nicht vorhanden ist, gibt diese Methode ein Objekt zurück, dessen |
load(options) | Stellt einen Befehl zum Laden der angegebenen Eigenschaften des Objekts in die Warteschlange ein. Vor dem Lesen der Eigenschaften müssen Sie " |
load(property |
Stellt einen Befehl zum Laden der angegebenen Eigenschaften des Objekts in die Warteschlange ein. Vor dem Lesen der Eigenschaften müssen Sie " |
load(property |
Stellt einen Befehl zum Laden der angegebenen Eigenschaften des Objekts in die Warteschlange ein. Vor dem Lesen der Eigenschaften müssen Sie " |
toJSON() | Überschreibt die JavaScript-Methode |
track() | Nachverfolgung des Objekts zwecks automatischer Anpassung auf der Grundlage der umgebenden Änderungen im Dokument. Dieser Aufruf ist eine Kurzform für context.trackedObjects.add(thisObject). Wenn Sie dieses Objekt über |
untrack() | Gibt den diesem Objekt zugewiesenen Arbeitsspeicher frei, wenn das Objekt zuvor nachverfolgt wurde. Dieser Aufruf ist die Kurzform für context.trackedObjects.remove(thisObject). Viele nachverfolgte Objekte verlangsamen die Ausführung der Hostanwendung, also achten Sie darauf, alle hinzugefügten Objekte nach abgeschlossener Verwendung freizugeben. Sie müssen aufrufen |
Details zur Eigenschaft
context
Der Anforderungskontext, der dem -Objekt zugeordnet ist. Dadurch wird der Prozess des Add-Ins mit dem Prozess der Office-Hostanwendung verbunden.
context: RequestContext;
Eigenschaftswert
items
Ruft die geladenen untergeordneten Elemente in dieser Sammlung ab.
readonly items: Word.CustomXmlPart[];
Eigenschaftswert
Details zur Methode
add(xml)
Fügt dem Dokument eine neue benutzerdefinierte XML-Komponente hinzu.
add(xml: string): Word.CustomXmlPart;
Parameter
- xml
-
string
Erforderlich. XML-Inhalt. Muss ein gültiges XML-Fragment sein.
Gibt zurück
Hinweise
Beispiele
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/50-document/manage-custom-xml-part-ns.yaml
// Adds a custom XML part.
// If you want to populate the CustomXml.namespaceUri property, you must include the xmlns attribute.
await Word.run(async (context) => {
const originalXml =
"<Reviewers xmlns='http://schemas.contoso.com/review/1.0'><Reviewer>Juan</Reviewer><Reviewer>Hong</Reviewer><Reviewer>Sally</Reviewer></Reviewers>";
const customXmlPart = context.document.customXmlParts.add(originalXml);
customXmlPart.load(["id", "namespaceUri"]);
const xmlBlob = customXmlPart.getXml();
await context.sync();
const readableXml = addLineBreaksToXML(xmlBlob.value);
console.log(`Added custom XML part with namespace URI ${customXmlPart.namespaceUri}:`, readableXml);
// Store the XML part's ID in a setting so the ID is available to other functions.
const settings: Word.SettingCollection = context.document.settings;
settings.add("ContosoReviewXmlPartIdNS", customXmlPart.id);
await context.sync();
});
...
// Adds a custom XML part.
await Word.run(async (context) => {
const originalXml =
"<Reviewers><Reviewer>Juan</Reviewer><Reviewer>Hong</Reviewer><Reviewer>Sally</Reviewer></Reviewers>";
const customXmlPart: Word.CustomXmlPart = context.document.customXmlParts.add(originalXml);
customXmlPart.load("id");
const xmlBlob = customXmlPart.getXml();
await context.sync();
const readableXml = addLineBreaksToXML(xmlBlob.value);
console.log("Added custom XML part:", readableXml);
// Store the XML part's ID in a setting so the ID is available to other functions.
const settings: Word.SettingCollection = context.document.settings;
settings.add("ContosoReviewXmlPartId", customXmlPart.id);
await context.sync();
});
getByNamespace(namespaceUri)
Ruft eine neue bereichsbezogene Sammlung von benutzerdefinierten XML-Komponenten ab, deren Namespaces dem angegebenen Namespace entsprechen.
getByNamespace(namespaceUri: string): Word.CustomXmlPartScopedCollection;
Parameter
- namespaceUri
-
string
Erforderlich. Die Namespace-URI.
Gibt zurück
Hinweise
Beispiele
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/50-document/manage-custom-xml-part-ns.yaml
// Original XML: <Reviewers xmlns='http://schemas.contoso.com/review/1.0'><Reviewer>Juan</Reviewer><Reviewer>Hong</Reviewer><Reviewer>Sally</Reviewer></Reviewers>
// Gets the custom XML parts with the specified namespace URI.
await Word.run(async (context) => {
const namespaceUri = "http://schemas.contoso.com/review/1.0";
console.log(`Specified namespace URI: ${namespaceUri}`);
const scopedCustomXmlParts: Word.CustomXmlPartScopedCollection =
context.document.customXmlParts.getByNamespace(namespaceUri);
scopedCustomXmlParts.load("items");
await context.sync();
console.log(`Number of custom XML parts found with this namespace: ${!scopedCustomXmlParts.items ? 0 : scopedCustomXmlParts.items.length}`);
});
getCount()
Ruft die Anzahl der Elemente in der Auflistung ab.
getCount(): OfficeExtension.ClientResult<number>;
Gibt zurück
OfficeExtension.ClientResult<number>
Hinweise
getItem(id)
Ruft eine benutzerdefinierte XML-Komponente basierend auf ihrer ID ab.
getItem(id: string): Word.CustomXmlPart;
Parameter
- id
-
string
ID oder Index des abzurufenden benutzerdefinierten XML-Teils.
Gibt zurück
Hinweise
Beispiele
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/50-document/manage-custom-xml-part-ns.yaml
// Original XML: <Reviewers xmlns='http://schemas.contoso.com/review/1.0'><Reviewer>Juan</Reviewer><Reviewer>Hong</Reviewer><Reviewer>Sally</Reviewer></Reviewers>
// Queries a custom XML part for elements matching the search terms.
await Word.run(async (context) => {
const settings: Word.SettingCollection = context.document.settings;
const xmlPartIDSetting: Word.Setting = settings.getItemOrNullObject("ContosoReviewXmlPartIdNS").load("value");
await context.sync();
if (xmlPartIDSetting.value) {
const customXmlPart: Word.CustomXmlPart = context.document.customXmlParts.getItem(xmlPartIDSetting.value);
const xpathToQueryFor = "/contoso:Reviewers";
const clientResult = customXmlPart.query(xpathToQueryFor, {
contoso: "http://schemas.contoso.com/review/1.0"
});
await context.sync();
console.log(`Queried custom XML part for ${xpathToQueryFor} and found ${clientResult.value.length} matches:`);
for (let i = 0; i < clientResult.value.length; i++) {
console.log(clientResult.value[i]);
}
} else {
console.warn("Didn't find custom XML part to query.");
}
});
...
// Original XML: <Reviewers><Reviewer>Juan</Reviewer><Reviewer>Hong</Reviewer><Reviewer>Sally</Reviewer></Reviewers>
// Queries a custom XML part for elements matching the search terms.
await Word.run(async (context) => {
const settings: Word.SettingCollection = context.document.settings;
const xmlPartIDSetting: Word.Setting = settings.getItemOrNullObject("ContosoReviewXmlPartId").load("value");
await context.sync();
if (xmlPartIDSetting.value) {
const customXmlPart: Word.CustomXmlPart = context.document.customXmlParts.getItem(xmlPartIDSetting.value);
const xpathToQueryFor = "/Reviewers/Reviewer";
const clientResult = customXmlPart.query(xpathToQueryFor, {
contoso: "http://schemas.contoso.com/review/1.0"
});
await context.sync();
console.log(`Queried custom XML part for ${xpathToQueryFor} and found ${clientResult.value.length} matches:`);
for (let i = 0; i < clientResult.value.length; i++) {
console.log(clientResult.value[i]);
}
} else {
console.warn("Didn't find custom XML part to query.");
}
});
getItemOrNullObject(id)
Ruft eine benutzerdefinierte XML-Komponente basierend auf ihrer ID ab. Wenn CustomXmlPart nicht vorhanden ist, gibt diese Methode ein Objekt zurück, dessen isNullObject
-Eigenschaft auf true
festgelegt ist. Weitere Informationen finden Sie unter *OrNullObject-Methoden und -Eigenschaften.
getItemOrNullObject(id: string): Word.CustomXmlPart;
Parameter
- id
-
string
Erforderlich. ID des abzurufenden Objekts.
Gibt zurück
Hinweise
load(options)
Stellt einen Befehl zum Laden der angegebenen Eigenschaften des Objekts in die Warteschlange ein. Vor dem Lesen der Eigenschaften müssen Sie "context.sync()
" aufrufen.
load(options?: Word.Interfaces.CustomXmlPartCollectionLoadOptions & Word.Interfaces.CollectionLoadOptions): Word.CustomXmlPartCollection;
Parameter
Stellt Optionen dafür bereit, welche Eigenschaften des -Objekts geladen werden sollen.
Gibt zurück
load(propertyNames)
Stellt einen Befehl zum Laden der angegebenen Eigenschaften des Objekts in die Warteschlange ein. Vor dem Lesen der Eigenschaften müssen Sie "context.sync()
" aufrufen.
load(propertyNames?: string | string[]): Word.CustomXmlPartCollection;
Parameter
- propertyNames
-
string | string[]
Eine durch Trennzeichen getrennte Zeichenfolge oder ein Array von Zeichenfolgen, die die zu ladenden Eigenschaften angeben.
Gibt zurück
load(propertyNamesAndPaths)
Stellt einen Befehl zum Laden der angegebenen Eigenschaften des Objekts in die Warteschlange ein. Vor dem Lesen der Eigenschaften müssen Sie "context.sync()
" aufrufen.
load(propertyNamesAndPaths?: OfficeExtension.LoadOption): Word.CustomXmlPartCollection;
Parameter
- propertyNamesAndPaths
- OfficeExtension.LoadOption
propertyNamesAndPaths.select
ist eine durch Trennzeichen getrennte Zeichenfolge, die die zu ladenden Eigenschaften angibt, und propertyNamesAndPaths.expand
eine durch Trennzeichen getrennte Zeichenfolge, die die zu ladenden Navigationseigenschaften angibt.
Gibt zurück
toJSON()
Überschreibt die JavaScript-Methode toJSON()
, um eine nützlichere Ausgabe bereitzustellen, wenn ein API-Objekt an JSON.stringify()
übergeben wird. (JSON.stringify
ruft wiederum die toJSON
-Methode des Objekts auf, das an das Objekt übergeben wird.) Während das ursprüngliche Word.CustomXmlPartCollection
Objekt ein API-Objekt ist, gibt die toJSON
Methode ein einfaches JavaScript-Objekt (typisiert als Word.Interfaces.CustomXmlPartCollectionData
) zurück, das ein "Items"-Array mit flachen Kopien aller geladenen Eigenschaften aus den Elementen der Auflistung enthält.
toJSON(): Word.Interfaces.CustomXmlPartCollectionData;
Gibt zurück
track()
Nachverfolgung des Objekts zwecks automatischer Anpassung auf der Grundlage der umgebenden Änderungen im Dokument. Dieser Aufruf ist eine Kurzform für context.trackedObjects.add(thisObject). Wenn Sie dieses Objekt über .sync
Aufrufe hinweg und außerhalb der sequenziellen Ausführung eines ".run"-Batches verwenden und beim Festlegen einer Eigenschaft oder beim Aufrufen einer Methode für das Objekt den Fehler "InvalidObjectPath" erhalten, müssen Sie das Objekt der nachverfolgten Objektauflistung hinzufügen, als das Objekt zum ersten Mal erstellt wurde. Wenn dieses Objekt Teil einer Auflistung ist, sollten Sie auch die übergeordnete Auflistung nachverfolgen.
track(): Word.CustomXmlPartCollection;
Gibt zurück
untrack()
Gibt den diesem Objekt zugewiesenen Arbeitsspeicher frei, wenn das Objekt zuvor nachverfolgt wurde. Dieser Aufruf ist die Kurzform für context.trackedObjects.remove(thisObject). Viele nachverfolgte Objekte verlangsamen die Ausführung der Hostanwendung, also achten Sie darauf, alle hinzugefügten Objekte nach abgeschlossener Verwendung freizugeben. Sie müssen aufrufen context.sync()
, bevor die Speicherfreigabe wirksam wird.
untrack(): Word.CustomXmlPartCollection;
Gibt zurück
Office Add-ins