Не мог бы кто-нибудь помочь мне в этом. Мне нужно в C# удалить узел «xsl: variable», как вы можете видеть здесь два xsl: узлы шаблона с дочерними элементами xsl: variable. В этом примере мне нужно удалить его с помощью C#.C# XSLT удалить узел
Что-то вроде этого:
XmlDocument d = new XmlDocument();
d.Load("MyFileName.Xml");
XmlNode t = d.SelectSingleNode("/navigation/page[@id='1']");
t.ParentNode.RemoveChild(t);
d.Save();
Но я не могу получить путь 'XSL: переменной' в d.SelectSingleNode()
Пожалуйста, помогите мне?
ЭТО XSLT:
<xsl:template name="Aggregate:RealECBooleanToXMLBoolean">
<xsl:param name="RealECBoolean" select="/.."/>
<xsl:variable name="var1_result">
<xsl:value-of select="($RealECBoolean = 'Yes')"/>
<xsl:value-of select="($RealECBoolean = 'YES')"/>
<xsl:value-of select="($RealECBoolean = 'X')"/>
</xsl:variable>
<xsl:variable name="var2_resultof_any" select="boolean(translate(normalize-space($var1_result), 'false0 ', ''))"/>
<xsl:choose>
<xsl:when test="string((string((string($var2_resultof_any) != 'false')) != 'false')) != 'false'">
<xsl:value-of select="(string((string($var2_resultof_any) != 'false')) != 'false')"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="false()"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="Aggregate:LookupRECodeName">
<xsl:param name="RECode" select="/.."/>
<xsl:call-template name="vmf:vmf1_inputtoresult">
<xsl:with-param name="input" select="$RECode"/>
</xsl:call-template>
</xsl:template>
Оно не может быть найти узел, так как «XSL:» Пространство имен не определен. Эта ссылка может помочь: http://stackoverflow.com/questions/443250/creating-a-specific-xml-document-using-namespaces-in-c-sharp – M3NTA7
Thanks M3NTA7 У меня есть код для получения всего xsl: template но следующий шаг - удалить все дочерние xsl: переменные узлы, и я не могу сделать это с помощью этого образца. Нужно значение SingleNode. – Zire