2
<?xml version="1.0"?>
<c:configuration xmlns:c="urn:schemas-med-sadfens-com:config" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:schemas-med-sadfens-com:config D:\config.xsd">
<c:component c:name="FC1PLAZACS1-DEV [Central Server]" c:keywords="Server" c:helpriid="11f7b87d-52ae-434b-8ace-4ffb4ecbe080">
        <c:propertyelement c:name="System manufacturer" c:value="select Manufacturer from Win32_ComputerSystem" c:type="Wmi" xmlns:c="urn:schemas-med-siemens-com:config" />
        <c:propertyelement c:name="System model" c:value="select Model from Win32_ComputerSystem" c:type="Wmi" xmlns:c="urn:schemas-med-siemens-com:config"/>
</c:component>
</c:configuration>

在上面的 xml 中,我想要所有内容,但我的 xsl 没有复制它

即它不能复制元素 xmlns:c="urn:schemas-med-siemens-com:config"

<c:propertyelement c:name="System manufacturer" c:value="select Manufacturer from Win32_ComputerSystem" c:type="Wmi" xmlns:c="urn:schemas-med-siemens-com:config" />

请找到我的 XSl

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"  xmlns:c="urn:schemas-med-siemens-com:config" >

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

</xsl:stylesheet>

请尽快让我知道答案

4

1 回答 1

0

我使用类似于以下内容的方法将节点迁移到新的命名空间 YMMV:

<xsl:stylesheet 
  version="1.0" 
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"  
  xmlns:c="urn:schemas-med-siemens-com:config" >
  <xsl:param
     name="new-ns"
     select="'http://my.new.ns'"
     />

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

  <xsl:template match="*">
    <xsl:element name="{local-name()}" namespace="{$new-ns}">
      <xsl:apply-templates select="node()|@*"/>
    </xsl:element>
  </xsl:template>
</xsl:stylesheet>
于 2013-09-17T11:12:36.293 回答