Итак, у меня есть немного XML, и я хочу тот же XML, но с несколькими пропущенными строками. Вот мой оригинальный XML:
<?xml version="1.0" encoding="UTF-8"?>
<Customers>
<Customer>
<FirstName>Sarah</FirstName>
<LastName>Bellum</LastName>
<PhoneNumbers>
<PhoneNumber type="HOME">
223 704 2215
</PhoneNumber>
<PhoneNumber type="WORK">
223 704 1234
</PhoneNumber>
<PhoneNumber type="CELL">
860 704 1234
</PhoneNumber>
</PhoneNumbers>
<Addresses>
<Address type="HOME">
<Line1>123 Main</Line1>
<Line2></Line2>
<Line3></Line3>
<City>Wallingford</City>
<State>CT</State>
<Zip>12345</Zip>
</Address>
<Address type="WOKR">
<Line1>456 Main</Line1>
<Line2></Line2>
<Line3></Line3>
<City>Willington</City>
<State>CT</State>
<Zip>12345</Zip>
</Address>
</Addresses>
</Customer>
<Customer>
<FirstName>Mike</FirstName>
<LastName>Easter</LastName>
<PhoneNumbers>
<PhoneNumber type="CELL">
123 704 4321
</PhoneNumber>
</PhoneNumbers>
<Addresses>
<Address type="HOME">
<Line1>14 East</Line1>
<Line2></Line2>
<Line3></Line3>
<City>Shelton</City>
<State>CT</State>
<Zip>12345</Zip>
</Address>
</Addresses>
</Customer>
</Customers>
и вот мой целевой XML:
<Customers>
<Customer>
<Name>Sarah Bellum</Name>
<!-- This element should only appear if the source element exists -->
<HomePhone>223 704 2215</HomePhone>
<!-- This element should only appear if the source element exists -->
<WorkPhone>223 704 1234</WorkPhone>
<!-- This element should only appear if the source element exists -->
<CellPhone>860 704 1234</CellPhone>
<!-- This element should only appear if the source element exists -->
<HomeAddress>
<Street>123 Main</Street>
<City>Wallingford</City>
<State>CT</State>
<Zip>12345</Zip>
</HomeAddress>
<!-- This element should only appear if the source element exists -->
<WorkAddress>
<Street>456 Main</Street>
<City>Willington</City>
<State>CT</State>
<Zip>12345</Zip>
</WorkAddress>
</Customer>
<Customer>
<Name>Mike Easter</Name>
<CellPhone>123 704 4321</CellPhone>
<HomeAddress>
<Street>14 East</Street>
<City>Shelton</City>
<State>CT</State>
<Zip>12345</Zip>
</HomeAddress>
</Customer>
</Customers>
У меня есть XSLT, но он просто копирует его, и я хочу, чтобы некоторые строки пропали. Вот мой XSLT:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"
>
<xsl:output method="xml" indent="yes"/>
<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
Итак, я дал вам целевой XML, оригинал и немного XSL. Я не знаю, как избавиться от линий, так что вы можете помочь.