Использование .Net Serialization абсолютно мое предпочтение, в этом случае вы бы десериализовали файл в объект. Если вы возьмете свой XML (который я немного отредактировал):
<?xml version="1.0" encoding="utf-8" ?>
<scripts>
<script>
<ScriptName>
"My Name"
</ScriptName>
<ScriptBody>
"body contents"
</ScriptBody>
</script>
</scripts>
Затем вы создаете несколько классов, представляющих xml:
public class Scripts
{
/// <summary>
/// only allow xml serializer to create instances.
/// </summary>
private Scripts()
{
}
[XmlElement]
public List<script> script{ get; set; }
}
public class script
{
public script()
{
}
[XmlElement]
public string ScriptName { get; set; }
[XmlElement]
public string ScriptBody{ get; set; }
}
А затем, когда все настроено правильно, вы можете десериализовать файл:
string xmlFilePath = "THE_PATH_TO_THE_XML";
XmlSerializer xmlSerializer = new XmlSerializer(typeof(Scripts));
using (XmlReader xmlReader = XmlReader.Create(xmlFilePath))
{
Scripts scripts = (Scripts)xmlSerializer.Deserialize(xmlReader);
}
Сериализация XML действительно мощная, посмотрите в документации: http://msdn.microsoft.com/en-us/library/ms950721.aspx.
Робб