我有这个xml:
<text>
blah blah <strong> hello </strong> more text <strong>hello again</strong> blah blah
</text>
如何选择使用<
和>
在此示例中,选择应为:
更新需要XSLT 1.0
答案 0 :(得分:0)
由于您已更新说明您只能使用XSLT 1 - 请参阅此帖子:How to use XSLT 1.0 or XPath to manipulate an HTML string
这有点复杂,但是:
替换&lt ;,&gt;和&amp;你要三次清理它......
以下是一些可以帮助您入门的XSLT:
<xsl:variable name="cleanXML">
<xsl:call-template name="SubstringReplace">
<xsl:with-param name="stringIn">
<xsl:call-template name="SubstringReplace">
<xsl:with-param name="stringIn">
<xsl:call-template name="SubstringReplace">
<xsl:with-param name="stringIn">
<xsl:call-template name="SubstringReplace">
<xsl:with-param name="stringIn" select="$theXml"/>
<xsl:with-param name="substringIn" select="'&lt;'"/>
<xsl:with-param name="substringOut" select="'<'"/>
</xsl:call-template>
</xsl:with-param>
<xsl:with-param name="substringIn" select="'&gt;'"/>
<xsl:with-param name="substringOut" select="'>'"/>
</xsl:call-template>
</xsl:with-param>
<xsl:with-param name="substringIn" select="'&amp;'"/>
<xsl:with-param name="substringOut" select="'&'"/>
</xsl:call-template>
</xsl:with-param>
</xsl:call-template>
</xsl:variable>
答案 1 :(得分:0)
这是一个C#实现。
使用的名称空间
using System.Xml
using System.Web
实施
//Read xml file
string xmlText = "<text>blah blah <strong> hello </strong> more text <strong>hello again</strong> blah blah</text>";
System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
doc.LoadXml(HttpUtility.HtmlDecode(xmlText));
XmlNodeList Nodes = doc.GetElementsByTagName("strong");
List<string> nodeValues= new List<string>();
foreach (XmlNode Node in Nodes)
{
nodeValues.Add(Node.InnerText);
}