mon combobox est peuplé deobtenir un chemin dans le fichier xml
6.70_Extensions
7.00_Extensions
7.10.000_Tip
7.10_Extensions
si ma combobox valeur sélectionnée est 6.70_Extensions
et pendant un événement de bouton, comment puis-je sélectionner un chemin à partir d'un fichier xml (antcheckin.xml) avec "6.70_Extensions"
? par exemple: en sélectionnant "C:\Work\6.70_Extensions\folder"
à partir d'un fichier xml.
Note: La valeur sélectionnée est combobox
var buildStream =((DataRowView)BuildstreamComboBox.SelectedItem).Row["value"].ToString()
Fondamentalement, après avoir sélectionné ce chemin, je vais faire de ce dossier non en lecture seule.
Donc, c'est ce que j'ai fait précédemment (note: cette zone de liste déroulante n'a pas été remplie avec des données xml et j'ai réussi à le remplir avec des données XML et donc j'ai besoin d'un nouveau code index maintenant).
// the following is used to ensure the folder checked out is now not "read only"
if (BuildstreamComboBox.SelectedIndex == 0)
{
var di = new DirectoryInfo("C:\\Work\\6.70_Extensions\\folder");
foreach (var file in di.GetFiles("*", SearchOption.AllDirectories))
file.Attributes &= ~FileAttributes.ReadOnly;
}
if (BuildstreamComboBox.SelectedIndex == 1)
{
var di = new DirectoryInfo("C:\\Work\\7.00_Extensions\\folder");
foreach (var file in di.GetFiles("*", SearchOption.AllDirectories))
file.Attributes &= ~FileAttributes.ReadOnly;
}
if (BuildstreamComboBox.SelectedIndex == 2)
{
var di = new DirectoryInfo("C:\\Work\\7.10.000_Tip\\folder");
foreach (var file in di.GetFiles("*", SearchOption.AllDirectories))
file.Attributes &= ~FileAttributes.ReadOnly;
}
antcheckin.xml:
<project>
<buildmachine4>
<checkout1 exe="wco" folder='-f -R "C:/Work/6.70_Extensions/folder/"'/>
<checkout2 exe="wco" folder='-f -R "C:/Work/7.00_Extensions/folder/"'/>
</buildmachine4>
<buildmachine5>
<checkout3 exe="wco" folder='-f -R "C:/Work/7.10.000_Tip/folder/"'/>
</buildmachine5>
</project>
EDIT 1: Salut les gars, je vais faire une recherche dans mon fichier antcheckin.xml mais je suis un peu coincé pour obtenir analyser l'attribut out :
public void BuildButton_Click(object sender, RoutedEventArgs e)
{
// the following is used to ensure the folder checked out is now not "read only"
// load your XML
XDocument doc = XDocument.Load(@"C:\Work\ANTCheckIN.xml");
XElement mainItem = doc.Descendants("project")
.Where(mi => mi.Attribute("folder").Value.Contains(buildStream)
....
//what should be added here?
}
mais comment puis-je obtenir le juste ' "C: /Work/6.70_Extensions/folder"'? parce qu'il y a '-f' et' -R' en face de lui – jeremychan
@jeremychan - remplacez -f et -r par la fonction de manipulation de chaîne après l'annulation de la valeur de l'attribut –
@jeremychan Êtes-vous capable d'éditer le fichier XML? Les drapeaux sont-ils nécessaires? Si c'est le cas, je suggérerais que vous ayez séparé les drapeaux '-f' et' -R' de l'attribut folder. Par exemple quelque chose comme ça (j'ai supposé la signification des drapeaux): ' '. –
bcpettifer