Free Support Forum -

Finding text between tag


I have some requirement to get text from one file and copy in to other file.

for example

source document contains tag like

i need to get value for FIRSTNAME tag thats is "vidhya"

With this value i need to replace tag present in destination file.

Destination file may contain tag like <%FIRSTNAME%>

so in destination file <%FIRSTNAME%>should be replaced with vidhya.

How i can do using Aspose.


Thanks for your interest in Aspose.Words. I think that you can achieve this using regular expressions and ReplaceEvaluator. For example see the following code and attached documents.

//Collection of Key Value pairs

Hashtable keyValueCollection = new Hashtable();

public void TestInsertValues()


//Open source document

Document srcDoc = new Document(@"468_110179_vidhya.thawale\in.doc");

//Create regecx for searching values in document

Regex regexFindValue = new Regex(@"<(?\S+):(?.*?)>");

//Find values

srcDoc.Range.Replace(regexFindValue, new ReplaceEvaluator(ReplaceActionFindValues), true);

//Open destination document

Document tempDoc = new Document(@"468_110179_vidhya.thawale\temp.doc");

//Create regex for searching placeholders

Regex regexFindPlaceholder = new Regex(@"<%(?\S+)%>");

//Replace placeholder with value

tempDoc.Range.Replace(regexFindPlaceholder, new ReplaceEvaluator(ReplaceActionFindPlaceholder), true);

//Save output



ReplaceAction ReplaceActionFindValues(object sender, ReplaceEvaluatorArgs e)


//Add pair to collection

keyValueCollection.Add(e.Match.Groups["name"].Value, e.Match.Groups["value"].Value);

return ReplaceAction.Skip;


ReplaceAction ReplaceActionFindPlaceholder(object sender, ReplaceEvaluatorArgs e)


if (keyValueCollection.ContainsKey(e.Match.Groups["name"].Value))


//Replace placeholder with value

e.Replacement = keyValueCollection[e.Match.Groups["name"].Value].ToString();

return ReplaceAction.Replace;




return ReplaceAction.Skip;



I hope that this will help you.

Best regards.