标签: xmltask

Ant XMLTASK如果已经存在,则插入一个节点

我有一项任务是将XML节点插入到现有的XML文件中,但前提是该节点尚不存在.我管理插入就好了,但是我发现缺少if-not功能

<xmltask source="shared.xml" dest="shared.xml" outputter="simple:3">
   <insert path="/sharedobjects[last()]">
      <![CDATA[
      <connection>   
         <name>MY CONNECTION</name>
      </connection>
      ]]>
   </insert>
</xmltask>
Run Code Online (Sandbox Code Playgroud)

如果我多次运行,我当然会在xml文件中有多个MY CONNECTION.我想进行检查,以便仅在文件中尚未存在所需连接时才插入.

提前致谢.

xml ant xmltask

5
推荐指数
2
解决办法
4946
查看次数

xmltasks无效

我有以下任务,由于某种原因不匹配我的文件:

<xmltask source="nbproject/project.xml" dest="nbproject/project.xml">
        <replace path="/project/configuration/data/class-path-extension/runtime-relative-path/text()" 
        withText="ext/extensions/${extension-lib.dist.jar}.jar"/>
        <replace path="/project/configuration/data/class-path-extension/binary-origin/text()" 
        withText="${original.project.dir}/dist/${extension-lib.dist.jar}.jar"/>
</xmltask>
Run Code Online (Sandbox Code Playgroud)

这是我正在搜索的xml文件:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project xmlns="http://www.netbeans.org/ns/project/1">
<type>org.netbeans.modules.apisupport.project</type>
<configuration>
    <data xmlns="http://www.netbeans.org/ns/nb-module-project/3">
        .
        .
        .
        <class-path-extension>
            <runtime-relative-path>ext/extensions/Zone_x.jar</runtime-relative-path>
            <binary-origin>../../Simple Marauroa Java/Zone Extension/dist/Zone_y.jar</binary-origin>
        </class-path-extension>
    </data>
</configuration>
Run Code Online (Sandbox Code Playgroud)

我删除了对这个问题不重要的东西.在同一文件上使用NetBeans的Xpath插件分别显示ext/extensions/Zone_x.jar和../../Simple Marauroa Java/Zone Extension/dist/Zone_y.jar的匹配项,但任务看不到它们.

有任何想法吗?

xml ant xmltask

4
推荐指数
1
解决办法
2169
查看次数

如何从SQL Server导出到XML

从SQL Server [表或视图]导出到XML的最简单方法是什么?

这是我到目前为止所做的

执行Sql任务

SELECT * FROM Production.Product 
FOR XML AUTO, TYPE, ROOT('Data')
Run Code Online (Sandbox Code Playgroud)

ResultSet XML

在左结果集部分我创建了新的变量0 User :: XMLVal

脚本任务

 Dim sw As New IO.StreamWriter("D:\Apps\SSIS\test.xml")
    sw.Write(Dts.Variables("User::XMLVal").Value.ToString())


    sw.Dispose()
Run Code Online (Sandbox Code Playgroud)

sql-server ssis xmltask

3
推荐指数
1
解决办法
2万
查看次数

xmltask删除不起作用

我有这个application.xml

<?xml version="1.0" encoding="UTF-8"?>
<application id="Application_1326308152661" version="1.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/application_1_4.xsd">
   <description>MIC Server Application.</description>
   <module>
      <web> ...         
      </web>
   </module>
   <module>
      <ejb>mic-sqlbridge.jar</ejb>
   </module>
   <security-role> ...
   </security-role>
</application>
Run Code Online (Sandbox Code Playgroud)

在此xml中,必须删除包含标签ejb的“模块”标签。为此,我尝试了

<xmltask source="application.xml" dest="application_X.xml"> 
   <remove path="/application/module[ejb/text() = 'mic-sqlbridge.jar']"/> 
</xmltask> 
Run Code Online (Sandbox Code Playgroud)

不幸的是,这并没有删除任何内容-这是日志部分:

[xmltask] Reading application.xml
[xmltask] Executing xmltask 1.16
[xmltask] Processing application.xml into application_X.xml
[xmltask] Using predefined xml catalog
[xmltask] Applying RemovalAction() to /application/module[ejb/text() = 'mic-sqlbridge.jar']
[xmltask] Applied RemovalAction() - 0 match(es)
[xmltask] RemovalAction() (/application/module[ejb/text() = 'mic-sqlbridge.jar']) failed to match
[xmltask] Normalizing resultant document
Run Code Online (Sandbox Code Playgroud)

任何的想法?提前致谢!

坦率

ant xmltask

2
推荐指数
1
解决办法
2117
查看次数

ANT:将字符串拆分为多个参数

我刚刚完成了一个ANT脚本(完美地完成了这项工作)。但是有一个新的要求,脚本必须改变。目标是将 ANT 部署文件称为deploy-all.txt. 该文件看起来像

client1=name1=server1+server2=repositoryX
client2=name2=server1+server3=repositoryY
client3=name3=server2+server4=repositoryZ
Run Code Online (Sandbox Code Playgroud)

将只有 1 个客户端,只有一个名称,从 1 到几台服务器,只有一个存储库和一种类型。

目标是什么:对于每一行,我需要获取变量,以便我可以解析它们并执行任务。输出应该是

client=client1
name=name1
server=server1
server=server2 (could be more)
repository=repository1
Run Code Online (Sandbox Code Playgroud)

必须为每一行解析这些参数。我确实有一个名为 GENERIC.WAR 的通用 APP - 已经完成并且运行良好。现在应用程序需要单独的插件来构建/部署。

该脚本将做什么:

a) copy generic GENERIC.WAR file to server1 and server2 with name scecified as client1 (SCP using scp task)
b) get svn repository based on repositoryX (svn update ant task)
c) get name and loop through existing code (using xmltask from checked out repository) to find right code to …
Run Code Online (Sandbox Code Playgroud)

java ant ant-contrib xmltask

2
推荐指数
1
解决办法
2580
查看次数

在Gradle中替换xmltask

我正在尝试将我的项目从Eclipse + Ant迁移到Android Studio + Gradle.所有这些都有针对不同应用商店的特殊版本,具有不同的跟踪ID,ad id等.在Eclipse上,我有一个ant xmltask,它在各自的xml文件中设置了这个id的值.比如我有:

<xmltask source="res/values/admob.xml" dest="res/values/admob.xml">
<replace path="//string[@name='bottom_ad_unit_id']/text()" withText="${bottomAdUnitId}"/>
</xmltask>
Run Code Online (Sandbox Code Playgroud)

对于每个商店,我只需要使用正确的id设置bottomAdUnitId并调用运行任务.

在Gradle中是否有类似的东西可以让我做同样的事情?

ant gradle xmltask android-studio

1
推荐指数
1
解决办法
523
查看次数

如何使用xpath替换xml中的第一个节点属性值

在下面的XML中,需要使用XPath替换命名空间.

<application xmlns="http://ns.adobe.com/air/application/4.0">
  <child id="1"></child>
  <child id="2"></child>
</application>
Run Code Online (Sandbox Code Playgroud)

我试过了

/application/@xmlns
Run Code Online (Sandbox Code Playgroud)

/*[local-name()='application']/@[local-name()='xmlns']
Run Code Online (Sandbox Code Playgroud)

两者都未能给出欲望输出.为了替换文本,我使用了xmltask替换.

<xmltask source="${temp.file1}" dest="${temp.file1}">
    <replace path="/application/@xmlns" withText="http://ns.adobe.com/air/application/16.0" />
</xmltask>
Run Code Online (Sandbox Code Playgroud)

ant xpath xmltask

0
推荐指数
1
解决办法
615
查看次数

标签 统计

xmltask ×7

ant ×6

xml ×2

android-studio ×1

ant-contrib ×1

gradle ×1

java ×1

sql-server ×1

ssis ×1

xpath ×1