XmlPeek (tâche)
Retourne des valeurs telles que spécifiées par la requête XPath depuis un fichier XML.
Paramètres
Le tableau ci-dessous décrit les paramètres de la tâche XmlPeek
.
Paramètre | Description |
---|---|
Namespaces |
Paramètre String facultatif.Spécifie les espaces de noms pour les préfixes de requête XPath. |
Query |
Paramètre String facultatif.Spécifie la requête XPath. |
Result |
Paramètre de sortie ITaskItem[] facultatif.Contient les résultats retournés par cette tâche. |
XmlContent |
Paramètre String facultatif.Spécifie l’entrée XML sous forme de chaîne. |
XmlInputPath |
Paramètre ITaskItem facultatif. Spécifie l’entrée XML sous forme de chemin de fichier. |
Notes
En plus des paramètres répertoriés dans le tableau, cette tâche comprend des paramètres qu’elle hérite de la classe TaskExtension, qui elle-même hérite de la classe Task. Pour obtenir la liste de ces paramètres supplémentaires et leurs descriptions, consultez Classe de base TaskExtension.
Exemple
Voici un exemple de fichier XML settings.config
à lire :
<appSettings>
<add key="ProjectFolder" value="S1" />
</appSettings>
Dans cet exemple, si vous souhaitez lire value
, utilisez un code semblable à ce qui suit :
<Target Name="BeforeBuild">
<XmlPeek XmlInputPath="settings.config" Query="appSettings/add[@key='ProjectFolder']/@value">
<Output TaskParameter="Result" ItemName="value" />
</XmlPeek>
<Message Text="Using project folder @(value)." Importance="high" />
<PropertyGroup>
<ProjectFolder>@(value)</ProjectFolder>
</PropertyGroup>
<ItemGroup>
<Compile Include="Projects\$(ProjectFolder)\Controls\Control1.ascx.cs">
<SubType>ASPXCodeBehind</SubType>
</Compile>
</ItemGroup>
</Target>
Avec les espaces de noms XML, vous utilisez le paramètre Namespaces
, comme dans l’exemple suivant. Avec le fichier XML d’entrée XMLFile1.xml
:
<?xml version="1.0" encoding="UTF-8"?>
<class AccessModifier='public' Name='test' xmlns:s='http://nsurl'>
<s:variable Type='String' Name='a'>This</s:variable>
<s:variable Type='String' Name='b'>is</s:variable>
<s:variable Type='String' Name='c'>Sparta!</s:variable>
<method AccessModifier='public static' Name='GetVal' />
</class>
Et le Target
suivant défini dans un fichier projet :
<Target Name="TestPeek" BeforeTargets="Build">
<!-- Find the Name attributes -->
<XmlPeek XmlInputPath="XMLFile1.xml"
Query="//s:variable/@Name"
Namespaces="<Namespace Prefix='s' Uri='http://nsurl' />">
<Output TaskParameter="Result" ItemName="value1" />
</XmlPeek>
<Message Text="@(value1)"/>
<!-- Find 'variable' nodes (XPath query includes ".") -->
<XmlPeek XmlInputPath="XMLFile1.xml"
Query="//s:variable/."
Namespaces="<Namespace Prefix='s' Uri='http://nsurl' />">
<Output TaskParameter="Result" ItemName="value2" />
</XmlPeek>
<Message Text="@(value2)"/>
</Target>
La sortie inclut les éléments suivants à partir de la cible TestPeek
:
TestPeek output:
a;b;c
<s:variable Type="String" Name="a" xmlns:s="http://nsurl">This</s:variable>;<s:variable Type="String" Name="b" xmlns:s="http://nsurl">is</s:variable>;<s:variable Type="String" Name="c" xmlns:s="http://nsurl">Sparta!</s:variable>
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour