1. A method for extracting content from input markup language text comprising: (a) parsing the input markup language text into a first hierarchical data model; (b) generating a second hierarchical data model based on the first hierarchical data model using one or more filters to remove content from the first hierarchical data model; and (c) generating output markup language text from the second hierarchical data model.