Try this:
string sSourceFileName = @"YourXmlFileNameHere.xml";
XDocument xdoc = XDocument.Load(sSourceFileName);
List<XElement> titles = xdoc.Descendants("title").ToList();
foreach(XElement xele in titles)
{
XDocument xd = new XDocument(
new XElement("donhag",
new XElement(xele.Name, xele.Value),
xele.ElementsAfterSelf()));
string sNewFileName = Path.Combine(@"D:\MyXmlData\", xele.Value.ToString().Replace(" ", "") + ".xml");
xd.Save(sNewFileName);
}
Result - 4 files:
====
D:\MyXmlData\TAKEABREAK.xml
'----
<donhag>
<title>TAKEABREAK</title>
</donhag>
====
D:\MyXmlData\Editorial.xml
'----
<donhag>
<title>Editorial</title>
<break name="5-1" />
<h1>
<page num="5" />This is a heading</h1>
<h3>This is a sub-heading</h3>
<p>This is a paragraph</p>
<fig>This is an image</fig>
</donhag>
====
D:\MyXmlData\YourLives.xml
'----
<donhag>
<title>Your Lives</title>
<break name="6-1" />
<h1>
<page num="6" />This is a heading</h1>
<h3>This is a sub-heading</h3>
<p>This is a paragraph</p>
<fig>This is an image</fig>
</donhag>
====
D:\MyXmlData\YourPrizePuzzles.xml
'----
<donhag>
<title>Your Prize Puzzles</title>
<break name="7-1" />
<h1>
<page num="7" />This is a heading</h1>
<h3>This is a sub-heading</h3>
<p>This is a paragraph</p>
<fig>This is an image</fig>
</donhag>