我遇到了与另一位工程师的问题。作为一名新工程师,我必须找出解决方案,但我还没有能够做到。任何帮助都将不胜感激,最接近的东西是使用XSLT对字符串进行分块,但还不太行。我只能使用XSL v1.0。
一个巨大的字符串作为参数传递给我的样式表。它最初来自一个XML文档。这个字符串看起来像这样。
其中
<license><active_servers><server><name>MIKE</name><capacity>18</capacity><status>0</status><expiration></expiration><left>0</left><comment></comment></server><server><name>Susie</name><capacity>0</capacity><status>1</status><expiration>2014-07-04T00:00:00Z</expiration><left>5238568</left><comment></comment></server><server><name>Zoe</name><capacity>5000</capacity><status>1</status><expiration></expiration><left>0</left><comment></comment></server></active_servers></license>
这是传递给样式表的参数的xml数据的一部分。实际文档有300多行数据。唯一能区分这些“节点”的独特事物是
例如,我需要找到“Zoe”,并查看她是否有“过期时间”,如果没有,我需要她的“状态”。因此,Zoe的状态将显示为“1”,因为她没有到期时间。而MIKE将显示“0”,Susie将显示2014-07-04T00:00:00Z。
我在谷歌和堆栈溢出上寻找解析/读取巨大字符串的解决方案,但我还没有找到足够接近的解决方案可以使其工作。目前,我被困在没有可用副本的境地,并且进行了2天的研究,没有取得任何进展。
一个巨大的字符串作为参数传递给我的样式表。它最初来自一个XML文档。这个字符串看起来像这样。
其中
<xsl:value-of select="$servers"/>
,其中$servers
是传递给我的字符串的参数。这个字符串看起来像这样:<license><active_servers><server><name>MIKE</name><capacity>18</capacity><status>0</status><expiration></expiration><left>0</left><comment></comment></server><server><name>Susie</name><capacity>0</capacity><status>1</status><expiration>2014-07-04T00:00:00Z</expiration><left>5238568</left><comment></comment></server><server><name>Zoe</name><capacity>5000</capacity><status>1</status><expiration></expiration><left>0</left><comment></comment></server></active_servers></license>
这是传递给样式表的参数的xml数据的一部分。实际文档有300多行数据。唯一能区分这些“节点”的独特事物是
<server>
和</server>
。如果这是一个非常大的字符串,有没有办法从中获取数据?例如,我需要找到“Zoe”,并查看她是否有“过期时间”,如果没有,我需要她的“状态”。因此,Zoe的状态将显示为“1”,因为她没有到期时间。而MIKE将显示“0”,Susie将显示2014-07-04T00:00:00Z。
我在谷歌和堆栈溢出上寻找解析/读取巨大字符串的解决方案,但我还没有找到足够接近的解决方案可以使其工作。目前,我被困在没有可用副本的境地,并且进行了2天的研究,没有取得任何进展。