Pregunta

Soy nuevo a la programación con el SDK OpenXML y he tratado en exceso para localizar y leer el texto que se encuentra entre dos campos del documento, pero en realidad nunca tuvo éxito. Hay un montón de ejemplos y tutoriales en la web acerca de casi todo lo que puede pensar en hacer con el SDK de OpenXML, desde el establecimiento de marcas de agua para hacer la combinación de correspondencia, pero no sólo uno sobre el procesamiento de los campos del documento.

Mi palabra documento es como la siguiente:

{ Field1 } data { Field2 }

y lo que yo quiero hacer, es leer los datos que están entre Field1 y Field2.

I tuvo éxito hasta el punto de localizar todos los campos que necesitan de esta manera:

var qryFieldCode = (from p in procDoc.MainDocumentPart.Document.Body.Descendants()
                    where p.GetType() == typeof(FieldCode)
                    select p).ToList();

Pero, ¿qué puedo hacer para leer el texto que se encuentra entre aquellos campos que encontré?

Cualquier ayuda es muy apreciada.

¿Fue útil?

Solución

Encuentra tu primer campo (como arriba) y luego obtener una .ElementsAfterSelf.TakeWhile hasta donde no lo hace p.GetType() = typeof(FieldCode). A continuación, acaba de obtener el .Value de esa consulta y que tendrá su texto. Esto no va a ser una gran solución si usted tiene cosas como mesas entre los dos campos, pero para su ejemplo anterior, va a trabajar.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top