OpenXML: Leggi il testo tra due campi di documenti utilizzando OpenXML SDK
-
28-09-2019 - |
Domanda
Sono nuovo di programmazione con l'OpenXML SDK e ho provato eccessivamente individuare e leggere il testo che si trova tra due campi di documenti, ma mai veramente riuscito. Ci sono tonnellate di campioni e tutorial sul web su quasi tutto ciò che si può pensare di fare con l'OpenXML SDK, dalla creazione di filigrane a fare la stampa unione, ma non solo uno circa l'elaborazione di campi del documento.
La mia parola aspetto del documento qualcosa di simile:
{ Field1 } data { Field2 }
e quello che voglio fare, è quello di leggere i dati che è tra i Field1
e Field2
.
I succedette al punto per individuare tutti i campi di cui ho bisogno in questo modo:
var qryFieldCode = (from p in procDoc.MainDocumentPart.Document.Body.Descendants()
where p.GetType() == typeof(FieldCode)
select p).ToList();
Ma quello che posso fare per leggere il testo che si trova tra quei campi che ho trovato?
Ogni aiuto è molto apprezzato.
Soluzione
Trova il tuo primo campo (molto simile sopra) e quindi ottenere un .ElementsAfterSelf.TakeWhile
fin dove p.GetType()
non lo fa = typeof(FieldCode)
. Poi basta ottenere il .Value
di quel query e avrete il vostro testo. Questo non sarà una grande soluzione se si hanno le cose come le tabelle tra i vostri due campi, ma per il vostro esempio di cui sopra, funzionerà.