【问题标题】:How to copy xml tag by it's attribute name value如何通过其属性名称值复制 xml 标签
【发布时间】:2018-04-18 09:58:04
【问题描述】:

我有这样的xml:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<Job>
        <WSData  WSName="PersonData">
        <Name>Aghata</Name>
        <Id>1234567899</Id>     
        </WSData>
        <WSData " WSName="Standard">
            <RawData>

                    <PersonalData>
                        <Name>
                            Aghata
                        </Name>

                        <Identifier>
                            123456789
                        </Identifier>
                        <Number>
                            12345678900
                        </Number>
                    </PersonalData>

            </RawData>
        </WSData>
</Job>

我想编写 XSLT,它可以帮助我复制 wsdata WSName PersonData 在另一个 xml 中,我应该如何管理这个?

【问题讨论】:

    标签: java xml xslt


    【解决方案1】:

    您想要的表达式是//WSData[@WSName='Standard'],您可以在xsl:apply-templatesxsl:copy-of 的选择子句中使用它...

    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
    
      <xsl:output method="xml" indent="yes" />
    
      <xsl:template match="/">
        <xsl:copy-of select="//WSData[@WSName='PersonData']" />
      </xsl:template>
    
    </xsl:stylesheet>
    

    【讨论】:

      【解决方案2】:

      为此,您可以使用xsl:copy-of。请参阅下面的链接或代码:

      <?xml version="1.0" encoding="UTF-8" ?>
      <xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
          <xsl:output method="html" encoding="UTF-8" indent="yes" />
      
          <xsl:template match="/">
              <xsl:apply-templates/>
          </xsl:template>
      
          <xsl:template match="Job">
              <Job>
                  <xsl:copy-of select="//WSData[@WSName='PersonData']"/>
              </Job>
          </xsl:template>
      
      </xsl:transform>
      

      【讨论】:

        猜你喜欢
        • 2012-08-13
        • 1970-01-01
        • 1970-01-01
        • 2014-04-13
        • 1970-01-01
        • 2019-07-21
        • 2012-05-06
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多