Je voudrais effectivement le stocker légèrement différent. Le concept est que vous créez un type complexe "Process", puis vous le réutilisez dans RelatedProcess et vous pouvez nommer un attribut si vous le souhaitez.
<Job>
<Process>something.exe</Process>
<RelatedProcess>
<Process>
<Name>somethingelse.exe</Name>
</Process>
<Process>
<Name>OneMorething.exe
</Name>
</Process>
</RelatedProcess>
</Job>
Cela permettrait une meilleure croissance. Par exemple si vous avez décidé d'avoir processeses récursives i.e. .:
<Job>
<Process>
<Name>something.exe</Name>
<RelatedProcess>
<Process>
<Name>somethingelse.exe</Name>
<RelatedProcess>
<Process>
<Name>recursive.exe</Name>
</Process>
</RelatedProcess>
</Process>
<Process>
<Name>OneMorething.exe</Name>
</Process>
</RelatedProcess>
</Process>
</Job>
Voici un exemple XDocument .. Je ne montre pas la création récursive de processus parce que je ne sais pas si vous vouliez l'utiliser.
string xml = "<Job>...xml here ";
XDocument doc = XDocument.Parse(xml);
var Processess = from process in doc.Elements("Job").Elements("Process")
select new
{
ProcessName = process.Element("Name"),
RelatedProcesses = (from rprocess in process.Elements("RelatedProcess").Elements("Process")
select new
{
ProcessName = rprocess.Element("Name")
}
).ToList()
};
Faites-moi savoir si vous avez des questions.
Vous avez obtenu quelques bons commentaires sur l'analyse du XML, mais nous sommes un peu dans l'obscurité de ce que vous voulez faire avec le contenu du texte . Vous voulez extraire la sous-chaîne avant et après le *? – LarsH