使用XSLT提取和更新XML
我有一个这样的XML,我想通过检查XML底部的值来替换其中一个元素使用XSLT提取和更新XML,xml,xslt,xslt-1.0,Xml,Xslt,Xslt 1.0,我有一个这样的XML,我想通过检查XML底部的值来替换其中一个元素 <?xml version="1.0"?> <Company> <Employee> <FirstName>Tanmay</FirstName> <LastName>Patil</LastName> <ContactNo>1234567890</ContactNo> &l
<?xml version="1.0"?>
<Company>
<Employee>
<FirstName>Tanmay</FirstName>
<LastName>Patil</LastName>
<ContactNo>1234567890</ContactNo>
<Email>tanmaypatil@xyz.com</Email>
<AddressRef>0123321</AddressRef>
<AllAddressRef>
<AddressRef>
<UniqueID>0123321</UniqueID>
<Streetno>6</Streetno>
<Street>Athol Park</Street>
<State>WA</Street>
<Country>AU</Street>
</AddressRef>
</AllAddressRef>
</Employee>
</Company>
坦美
帕蒂尔
1234567890
tanmaypatil@xyz.com
0123321
0123321
6
阿索尔公园
华盛顿州
金
如何替换与
中的唯一标识符关联的
6
阿索尔公园
华盛顿州
金
我正在使用XSLT1.0 您可以使用//搜索整个文档和谓词[],只选择符合某些条件的元素 例如:
<xsl:template match="AddressRef">
<xsl:variable name="address" select="//AllAddressRef/AddressRef[UniqueID = current()]" />
<Address>
<xsl:copy-of select="$address/*[not(self::UniqueID)]" />
</Address>
</xsl:template>
<xsl:template match="AddressRef">
<xsl:variable name="address" select="//AllAddressRef/AddressRef[UniqueID = current()]" />
<Address>
<xsl:copy-of select="$address/*[not(self::UniqueID)]" />
</Address>
</xsl:template>