2010-10-08 5 views
1

Je suis novice en programmation avec OpenXML SDK et j'ai trop essayé de localiser et de lire du texte entre deux champs de document, mais je n'ai jamais vraiment réussi. Vous trouverez sur le Web des tonnes d'exemples et de didacticiels sur presque tout ce que vous pouvez faire avec OpenXML SDK, depuis la définition de filigranes jusqu'à la fusion de courriers, mais pas seulement en ce qui concerne le traitement des champs de document.OpenXML: Lire du texte entre deux champs de document en utilisant OpenXML SDK

Mon document Word ressemble à ceci:

{ Field1 } data { Field2 } 

et ce que je veux faire, est de lire les données qui se trouve entre Field1 et Field2.

je parvins au point de localiser tous les champs dont j'ai besoin comme ceci:

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

Mais que puis-je faire pour lire le texte qui se trouve entre ces champs je trouve?

Toute aide est grandement appréciée.

Répondre

3

Trouvez votre premier champ (un peu comme ci-dessus), puis obtenez un .ElementsAfterSelf.TakeWhile jusqu'à ce que p.GetType() ne soit pas typeof(FieldCode). Ensuite, il suffit d'obtenir le .Value de cette requête et vous aurez votre texte. Ce ne sera pas une bonne solution si vous avez des choses comme des tableaux entre vos deux champs, mais pour votre exemple ci-dessus, cela fonctionnera.

Questions connexes