141 lines
7.6 KiB
HTML
Raw Normal View History

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<!-- Documenting T:NAnt.Core.Tasks.XmlPokeTask-->
<head>
<meta http-equiv="Content-Language" content="en-ca" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="../style.css" />
<title>&lt;xmlpoke&gt; Task</title>
</head>
<body>
<table width="100%" border="0" cellspacing="0" cellpadding="2" class="NavBar">
<tr>
<td class="NavBar-Cell">
<a href="http://nant.sourceforge.net">
<b>NAnt</b>
</a>
<img alt="-&gt;" src="../images/arrow.gif" />
<a href="../index.html">Help</a>
<img alt="-&gt;" src="../images/arrow.gif" />
<a href="../tasks/index.html">Task Reference</a>
<img alt="-&gt;" src="../images/arrow.gif" /> &lt;xmlpoke&gt;</td>
<td class="NavBar-Cell" align="right">
v0.91</td>
</tr>
</table>
<h1>&lt;xmlpoke&gt;</h1>
<p> Replaces text in an XML file at the location specified by an XPath expression. </p>
<p> The location specified by the XPath expression must exist, it will not create the parent elements for you. However, provided you have a root element you could use a series of the tasks to build the XML file up if necessary. </p>
<h3>Parameters</h3>
<div class="table">
<table>
<tr>
<th>Attribute</th>
<th style="text-align: center;">Type</th>
<th>Description</th>
<th style="text-align: center;">Required</th>
</tr>
<tr>
<td valign="top" class="required">file</td>
<td style="text-align: center;">file</td>
<td> The name of the file that contains the XML document that is going to be poked. </td>
<td style="text-align: center;">True</td>
</tr>
<tr>
<td valign="top" class="required">value</td>
<td style="text-align: center;">string</td>
<td> The value that replaces the contents of the selected nodes. </td>
<td style="text-align: center;">True</td>
</tr>
<tr>
<td valign="top" class="required">xpath</td>
<td style="text-align: center;">string</td>
<td> The XPath expression used to select which nodes are to be modified. </td>
<td style="text-align: center;">True</td>
</tr>
<tr>
<td valign="top">preserveWhitespace</td>
<td style="text-align: center;">bool</td>
<td> Namespace definitions to resolve prefixes in the XPath expression. </td>
<td style="text-align: center;">False</td>
</tr>
<tr>
<td valign="top">failonerror</td>
<td style="text-align: center;">bool</td>
<td> Determines if task failure stops the build, or is just reported. The default is <b>true</b>. </td>
<td style="text-align: center;">False</td>
</tr>
<tr>
<td valign="top">if</td>
<td style="text-align: center;">bool</td>
<td> If <b>true</b> then the task will be executed; otherwise, skipped. The default is <b>true</b>. </td>
<td style="text-align: center;">False</td>
</tr>
<tr>
<td valign="top">unless</td>
<td style="text-align: center;">bool</td>
<td> Opposite of <code>if</code>. If <b>false</b> then the task will be executed; otherwise, skipped. The default is <b>false</b>. </td>
<td style="text-align: center;">False</td>
</tr>
<tr>
<td valign="top">verbose</td>
<td style="text-align: center;">bool</td>
<td> Determines whether the task should report detailed build log messages. The default is <b>false</b>. </td>
<td style="text-align: center;">False</td>
</tr>
</table>
</div>
<h3>Nested Elements:</h3>
<!--Collection-->
<h4>
<a id="namespaces">
</a>
&lt;namespaces&gt;
</h4>
<div class="nested-element"> Namespace definitions to resolve prefixes in the XPath expression. <h5>&lt;namespace&gt;</h5><div class="nested-element"><p> Represents an XML namespace. </p><h3>Parameters</h3><div class="table"><table><tr><th>Attribute</th><th style="text-align: center;">Type</th><th>Description</th><th style="text-align: center;">Required</th></tr><tr><td valign="top" class="required">prefix</td><td style="text-align: center;">string</td><td> The prefix to associate with the namespace. </td><td style="text-align: center;">True</td></tr><tr><td valign="top" class="required">uri</td><td style="text-align: center;">string</td><td> The associated XML namespace URI. </td><td style="text-align: center;">True</td></tr><tr><td valign="top">if</td><td style="text-align: center;">bool</td><td> Indicates if the namespace should be added to the <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemXmlXmlNamespaceManagerClassTopic.asp">XmlNamespaceManager</a>. If <b>true</b> then the namespace will be added; otherwise, skipped. The default is <b>true</b>. </td><td style="text-align: center;">False</td></tr><tr><td valign="top">unless</td><td style="text-align: center;">bool</td><td> Indicates if the namespace should not be added to the <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemXmlXmlNamespaceManagerClassTopic.asp">XmlNamespaceManager</a>. list. If <b>false</b> then the parameter will be added; otherwise, skipped. The default is <b>false</b>. </td><td style="text-align: center;">False</td></tr></table></div></div><h5>&lt;/namespace&gt;</h5></div>
<h4>&lt;/namespaces&gt;</h4>
<h3>Examples</h3>
<ul class="examples">
<li>
<p> Change the <code>server</code> setting in the configuration from <code>testhost.somecompany.com</code> to <code>productionhost.somecompany.com</code>. </p>
<p>XML file:</p>
<pre class="code">
&lt;?xml version="1.0" encoding="utf-8" ?&gt;
&lt;configuration&gt;
&lt;appSettings&gt;
&lt;add key="server" value="testhost.somecompany.com" /&gt;
&lt;/appSettings&gt;
&lt;/configuration&gt;
</pre>
<p>Build fragment:</p>
<pre class="code">
&lt;xmlpoke
file="App.config"
xpath="/configuration/appSettings/add[@key = 'server']/@value"
value="productionhost.somecompany.com" /&gt;
</pre>
</li>
<li>
<p> Modify the <code>noNamespaceSchemaLocation</code> in an XML file. </p>
<p>XML file:</p>
<pre class="code">
&lt;?xml version="1.0" encoding="utf-8" ?&gt;
&lt;Commands xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="Path Value"&gt;
&lt;/Commands&gt;
</pre>
<p>Build fragment:</p>
<pre class="code">
&lt;xmlpoke file="test.xml" xpath="/Commands/@xsi:noNamespaceSchemaLocation" value="d:\Commands.xsd"&gt;
&lt;namespaces&gt;
&lt;namespace prefix="xsi" uri="http://www.w3.org/2001/XMLSchema-instance" /&gt;
&lt;/namespaces&gt;
&lt;/xmlpoke&gt;
</pre>
</li>
</ul>
<h3>Requirements</h3>
<div style="margin-left: 20px;">
<b>Assembly:</b> NAnt.Core (0.91.4312.0)
</div>
</body>
</html>