добавить текстовую строку в XML-файл, используя XSLT - PullRequest
2 голосов
/ 02 августа 2011

У меня есть простой XML-файл

 <Config new="Y" >
   <schema_path value="/var/tmp/sh.xsd"/>
   <collection name="new" >        
       <unit-list>
         <Instance active="Y" unit_type="xp" unit_name="table"/>
       </unit-list>
   </collection>
</Config>

Я бы хотел вставить новый элемент Instance в xml в unit-list

<Instance active="N" unit_type="linux" unit_name="door" />

Как это сделать?

1 Ответ

3 голосов
/ 02 августа 2011

Копирует все из входного XML и добавляет Instance в конце unit-list:

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">

    <xsl:template match="unit-list">
        <unit-list>
            <xsl:apply-templates />
            <Instance active="N" unit_type="linux" unit_name="door" />
        </unit-list>
    </xsl:template>

    <xsl:template match="@*|*|text()">
        <xsl:copy>
            <xsl:apply-templates select="@*|*|text()" />
        </xsl:copy>
    </xsl:template>

</xsl:stylesheet>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...