我有一个巨大的XML需要处理,但我只需要根中的几个节点。问题是,在该节点中,我有一个需要删除的孩子。任何人都在意解释这是否可行,如果可行,怎么办? 这是我得到的XML示例:
<XML>
<Properties>
Contend
</Properties>
<Events>
Contend
</Events>
<Contracts>
Contend
</Contracts>
<Trades>
Contend
</Trades>
<Deals>
<Deal>
<Edition>
<Object>
<Values>
<Value>N</Value>
<Value>N</Value>
</Values>
</Object>
<Members>
<memberValue>
<member>template</member>
<member>template</member>
<member>
<Object>
<Flows>
<Cupom>
<Period>
<Calculation>
<Data>N</Data>
<Data>N</Data>
<Rate>
<Data>N</Data>
<Data>N</Data>
<observations>
Tons of Contend
</observations>
</Rate>
</Calculation>
</Period>
</Cupom>
<Cupom>
<Period>
<Calculation>
<Data>N</Data>
<Data>N</Data>
<Rate>
<Data>N</Data>
<Data>N</Data>
<observations>
Tons of Contend
</observations>
</Rate>
</Calculation>
</Period>
</Cupom>
<Cupom>
<Period>
<Calculation>
<Data>N</Data>
<Data>N</Data>
<Rate>
<Data>N</Data>
<Data>N</Data>
<observations>
Tons of Contend
</observations>
</Rate>
</Calculation>
</Period>
</Cupom>
<Cupom>
<Period>
<Calculation>
<Data>N</Data>
<Data>N</Data>
<Rate>
<Data>N</Data>
<Data>N</Data>
<observations>
Tons of Contend
</observations>
</Rate>
</Calculation>
</Period>
</Cupom>
</Flows>
</Object>
</member>
</memberValue>
</Members>
</Edition>
</Deal>
</Deals>
</XML>
我需要保留de Node,但是,在内部,我需要删除它。请注意,节点在每个节点中重复。所有这些都必须删除。
最后,我的XML应该是这样的:
<XML>
<Deals>
<Deal>
<Edition>
<Object>
<Values>
<Value>N</Value>
<Value>N</Value>
</Values>
</Object>
<Members>
<memberValue>
<member>template</member>
<member>template</member>
<member>
<Object>
<Flows>
<Cupom>
<Period>
<Calculation>
<Data>N</Data>
<Data>N</Data>
<Rate>
<Data>N</Data>
<Data>N</Data>
</Rate>
</Calculation>
</Period>
</Cupom>
<Cupom>
<Period>
<Calculation>
<Data>N</Data>
<Data>N</Data>
<Rate>
<Data>N</Data>
<Data>N</Data>
</Rate>
</Calculation>
</Period>
</Cupom>
<Cupom>
<Period>
<Calculation>
<Data>N</Data>
<Data>N</Data>
<Rate>
<Data>N</Data>
<Data>N</Data>
</Rate>
</Calculation>
</Period>
</Cupom>
<Cupom>
<Period>
<Calculation>
<Data>N</Data>
<Data>N</Data>
<Rate>
<Data>N</Data>
<Data>N</Data>
</Rate>
</Calculation>
</Period>
</Cupom>
</Flows>
</Object>
</member>
</memberValue>
</Members>
</Edition>
</Deal>
</Deals>
</XML>
非常感谢任何可以提供帮助的人。
干杯!
答案 0 :(得分:1)
此转化:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="/*/*[not(self::Deals)] | Cupom/*/*/*/observations"/>
</xsl:stylesheet>
对提供的XML文档执行时,会产生想要的结果。