# Class XmlFileContentMerger

java.lang.Object
org.gradle.plugins.ide.api.FileContentMerger
org.gradle.plugins.ide.api.XmlFileContentMerger

Direct Known Subclasses:
  `IdeaModuleIml`

public class XmlFileContentMerger extends FileContentMerger
Models the generation/parsing/merging capabilities. Adds XML-related hooks.

For examples see docs for `EclipseProject` or `IdeaProject` and others.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `XmlFileContentMerger(org.gradle.internal.xml.XmlTransformer xmlTransformer)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `org.gradle.internal.xml.XmlTransformer`
  `getXmlTransformer()`
  `void`
  `setXmlTransformer(org.gradle.internal.xml.XmlTransformer xmlTransformer)`
  `void`
  `withXml(Closure closure)`
  Adds a closure to be called when the file has been created.
  `void`
  `withXml(Action<? super XmlProvider> action)`
  Adds an action to be called when the file has been created.

  ### Methods inherited from class FileContentMerger

  `beforeMerged, beforeMerged, getBeforeMerged, getWhenMerged, setBeforeMerged, setWhenMerged, whenMerged, whenMerged`

  ### Methods inherited from class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### XmlFileContentMerger

    public XmlFileContentMerger(org.gradle.internal.xml.XmlTransformer xmlTransformer)

- ## Method Details

  - ### getXmlTransformer

    public org.gradle.internal.xml.XmlTransformer getXmlTransformer()

  - ### setXmlTransformer

    public void setXmlTransformer(org.gradle.internal.xml.XmlTransformer xmlTransformer)

  - ### withXml

    public void withXml(@DelegatesTo(XmlProvider.class) Closure closure)
    Adds a closure to be called when the file has been created. The XML is passed to the closure as a parameter in form of a `XmlProvider`. The closure can modify the XML before it is written to the output file.

    For examples see docs for `EclipseProject` or `IdeaProject` and others.

    Parameters:
      `closure` - The closure to execute when the XML has been created.

  - ### withXml

    public void withXml(Action<? super XmlProvider> action)
    Adds an action to be called when the file has been created.

    See `withXml(Closure)`

    Parameters:
      `action` - The action to execute when the XML has been created.