Задача XmlPoke
Задает значения, указанные запросом XPath, в XML-файл.
Параметры
В следующей таблице описаны параметры задачи XmlPoke
.
Параметр | Описание |
---|---|
Namespaces |
Необязательный параметр String .Задает пространства имен для префиксов запросов XPath. Namespaces — это фрагмент XML, состоящий из элементов Namespace с атрибутами Prefix и Uri . Атрибут Prefix задает префикс, связанный с пространством имен, указанным в атрибуте Uri . Не используйте пустую Prefix . |
Query |
Необязательный параметр String .Задает запрос XPath. |
Value |
Обязательный параметр ITaskItem. Указывает значение, которое необходимо вставить в указанный путь. |
XmlInputPath |
Необязательный параметр ITaskItem. Задает входные данные XML в виде пути к файлу. |
Замечания
Помимо наличия параметров, перечисленных в таблице, эта задача наследует параметры из класса TaskExtension, который сам наследует от класса Task. Список этих дополнительных параметров и их описания см. в разделе базовый класс TaskExtension.
Пример
Ниже приведены sample.xml для изменения:
<Package xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest"
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10" >
<Identity Name="Sample.Product " Publisher="CN=1234" Version="1.0.0.0" />
<mp:PhoneIdentity PhoneProductId="456" PhonePublisherId="0" />
</Package>
В этом примере, если вы хотите изменить /Package/mp:PhoneIdentity/PhoneProductId
, используйте его.
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Namespace>
<Namespace Prefix="dn" Uri="http://schemas.microsoft.com/appx/manifest/foundation/windows10" />
<Namespace Prefix="mp" Uri="http://schemas.microsoft.com/appx/2014/phone/manifest" />
<Namespace Prefix="uap" Uri="http://schemas.microsoft.com/appx/manifest/uap/windows10" />
</Namespace>
</PropertyGroup>
<Target Name="Poke">
<XmlPoke
XmlInputPath="Sample.xml"
Value="MyId"
Query="/dn:Package/mp:PhoneIdentity/@PhoneProductId"
Namespaces="$(Namespace)"/>
</Target>
</Project>
dn
здесь используется в качестве префикса искусственного пространства имен для пространства имен по умолчанию; его можно использовать всякий раз, когда в целевом XML-файле нет указанного префикса.
См. также
- задачи
- Справочник по задачам