如何获得特殊价值

时间:2011-02-16 05:42:58

标签: xml xslt

  

可能重复:
  Extracting some data from XML

<block1>
  <tag>
    <name>59</name>
    <value>/00940001812410930828 FONDITEL VALORES AV SAU ATAM PEDRO TEIXERIA 8 PLANTA 7A 28020MADRID
    </value>
  </tag>
</block1>

XSLT

  <xsl:for-each select="block4/tag[name ='59']">         
      <xsl:value-of select="value"/>,<xsl:text/>
   </xsl:for-each> 

这是纠正的方式写这样....因为在我的块中有这么多标签,所以我需要调用每个标签可以任何人帮助我

我需要输出:

/00940001812410930828 , FONDITEL VALORES AV SAU ATAM PEDRO TEIXERIA 8 PLANTA 7A 28020MADRID

2 个答案:

答案 0 :(得分:0)

最好的办法是将XML加载到XML解析器中,例如XDocument:

示例代码

XDocument xdoc = XDocument.Parse("SomeXml");
string Yourrequiredtag= xdoc.Descendants("requiredtag").First().Value;       

像这样找到所有必需的标签和显示数据

试试这篇文章

http://msdn.microsoft.com/en-us/library/ms256166.aspx

http://www.quackit.com/xml/tutorial/xslt_for-each.cfm

答案 1 :(得分:0)

你抱怨你写的代码是重复的。好吧,当代码看起来重复时,几乎总有一种方法可以抽象它以避免繁琐的重复。这归结为查看重复的代码,看看什么是常见的,因此可以将其考虑在内。问题是,您只向我们展示了重复代码的一个实例。您没有向我们展示足够的数据和足够的代码,以便我们可以看到新的模式。

(XSLT 2.0在这方面比1.0更好。但即使使用1.0,我也曾将客户端的样式表从1000行代码缩减为20行,通过在更高的抽象级别重写它。)