我在这里阅读了一些答案并尝试将它们应用于案例......但仍然在苦苦挣扎。
我的两个目标,在标题中重新开始:
1)我必须阅读大型XML文档(最多40 Megs),转换几乎所有自定义标签,但不保留这些标签的内容。
所以,例如,我的文件就是这个:
<?xml version="1.0" encoding="utf-8"?>
<Root>
<Foo>
<PARA>
Text Value 1
</PARA>
<PARA>
Text Value 2
</PARA>
<PARA>
Text Value 3
</PARA>
</Foo>
<SubNode>
<SubExample>
<PARA>
Text Value 4
</PARA>
<PARA>
Text Value 5
</PARA>
<PARA>
Text Value 6
</PARA>
</SubExample>
</SubNode>
</Root>
结果文件必须是:
<?xml version="1.0" encoding="utf-8"?>
<Root>
<Foo>
<p>
Text Value 1
</p>
<p>
Text Value 2
</p>
<p>
Text Value 3`enter code here`
</p>
</Foo>
<SubNode>
<SubExample>
<p>
Text Value 4
</p>
<p>
Text Value 5
</p>
<p>
Text Value 6
</p>
</SubExample>
</SubNode>
</Root>
我的C#控制台应用程序调用XSLT文件:
XslTransform myXslTransform;
myXslTransform = new XslTransform();
myXslTransform.Load(@"C:\Users\User\Desktop\TransformXml2Html.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 omit-xml-declaration="yes" indent="yes" doctype-system="about:legacy-compat"/>
</xsl:param>-->
<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="PARA">
<p></p>
</xsl:template>
</xsl:stylesheet>
但是这样做<p>
标签的内容是空的......
2)输入XML文件必须在有效的HTML5有效文档中进行转换。
请事先提供帮助