0
특정 노드의 내용을 문자열에서 XML로 변환하여이 노드를 결과 XML로 바꿔야합니다. 이 노드는 배열이 될 수 있습니다.XSLT 1.0 - 각 노드의 XML 문자열
<?xml version="1.0" encoding="UTF-8"?>
<NodeA><NodeB><tagA xmlns="http://www.aaa.com"><tagB>valor1</tagB></tagA></NodeB><NodeB><tagA xmlns="http://www.aaa.com"><tagB>valor2</tagB></tagA></NodeB></NodeA>
을 나는 XSLT 아래를 사용하고 있습니다 :
내가 예를 들어 다음이 XML과 같은 일을했습니다 ... 그래서 아마 위해 - 각 명령 사용해야합니다,하지만 난 방법을 모른다
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8"/>
<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="//NodeB">
<xsl:value-of select="/" disable-output-escaping="yes"/>
</xsl:template>
결과는 문자열이 XML로 변환되고 있음을, 노드 B는 대체되고, 그러나 아래처럼 중복되고 :
내가 가진 경우<?xml version="1.0" encoding="UTF-8"?>
<NodeA>
<tagA xmlns="http://www.aaa.com">
<tagB>valor1</tagB>
</tagA>
<tagA xmlns="http://www.aaa.com">
<tagB>valor2</tagB>
</tagA>
</NodeA>
는, 예를 들어, 배열에있는 3 개 노드, 결과는 triplicated 될 것이다 :
<?xml version="1.0" encoding="UTF-8"?>
<NodeA>
<tagA xmlns="http://www.aaa.com">
<tagB>valor1</tagB>
</tagA>
<tagA xmlns="http://www.aaa.com">
<tagB>valor2</tagB>
</tagA>
<tagA xmlns="http://www.aaa.com">
<tagB>valor1</tagB>
</tagA>
<tagA xmlns="http://www.aaa.com">
<tagB>valor2</tagB>
</tagA>
</NodeA>
나는 다음과 같은 결과가 필요합니다.
안녕 마틴을 원하는 대신 생각합니다. 고맙습니다. 그것은 효과가 있었다. – Flavio