xslt 相关问题

XSLT是XML的一种转换语言,旨在将结构化文档转换为其他格式(如XML,HTML和纯文本,或者在XSLT 3,JSON中)。问题应该根据需要使用xslt-1.0,xslt-2.0或xslt-3.0标记之一。

如何将表格从 XML 匹配到 XSL

我想用正确的 XMl 标签填充表...我已经用标签编写了代码,但不知何故,当我将 XML 和 XSl 进行转换时,它没有用数据填充表...

回答 1 投票 0

创建新 XML 结构时出现 XSLT 代码问题

我正在尝试为以下要求编写XSLT,其中 /parent/queryCompoundEmployeeResponse/CompoundEmployee/person/person_id_external = /parent/row/PERSON_ID_EXTERNAL 然后 /paren 的内容...

回答 1 投票 0

XSLT 为输入 XML 中的每个增量分隔符位置分配变量

对于输入 XML: +本地_职能+小组_职能+小组_所有者+小组_经理+小组_领导+临时_服务 对于输入 XML: <EmpJob> <EmpJob> <ConcatDepartment>+Local_Functions+Group_Functions+Group_Owners+Group_Managers+Group_Leads+Interim_Services</ConcatDepartment> </EmpJob> </EmpJob> 我希望将值分配给 XSLT 中的变量,如下所示。分隔符是 +,它应该在将值分配给 XSLT 中的每个部门变量时递增,以便我可以使用它们获得以下预期输出.. <xsl:value-of select="$departments[1]" /> should return the string "" <xsl:value-of select="$departments[2]" /> should return the string "Local_Functions" <xsl:value-of select="$departments[3]" /> should return the string "Local_Functions/Group_Functions" <xsl:value-of select="$departments[4]" /> should return the string "Local_Functions/Group_Functions/Group_Owners" <xsl:value-of select="$departments[5]" /> should return the string "Local_Functions/Group_Functions/Group_Owners/Group_Managers" <xsl:value-of select="$departments[6]" /> should return the string "Local_Functions/Group_Functions/Group_Owners/Group_Managers/Group_Leads" <xsl:value-of select="$departments[7]" /> should return the string "Local_Functions/Group_Functions/Group_Owners/Group_Managers/Group_Leads/Interim_Services" <xsl:value-of select="$departments[8]" /> should return the string "" <xsl:value-of select="$departments[9]" /> should return the string "" <xsl:value-of select="$departments[10]" /> should return the string "" 我尝试过 <xsl:variable name="departments" select="tokenize(/EmpJob/EmpJob/ConcatDepartment, '\+')"/> <xsl:value-of select="$departments[1]" /> 返回字符串“” <xsl:value-of select="$departments[2]" /> 返回字符串“Local_Functions” <xsl:value-of select="$departments[3]" /> 返回字符串“Group_Functions” <xsl:value-of select="$departments[4]" /> 返回字符串“Group_Owners”等等...XSLT 的任何帮助都将非常有帮助 要获得您想要的行为,请使用如下表达式: <xsl:value-of select="$departments[position() le 4]" separator="/"/> 返回字符串: /Local_Functions/Group_Functions/Group_Owners 注意表达式: <xsl:value-of select="$departments[position() le 10]" separator="/"/> 将返回: /Local_Functions/Group_Functions/Group_Owners/Group_Managers/Group_Leads/Interim_Services 而不是空字符串。我不确定应该使用什么逻辑来产生您显示的确切结果。

回答 1 投票 0

XSLT 为输入 XML 中的每个分隔符位置分配变量

在我的 XSLT 中,我需要将值分配给名为 FODepartment_LX 的变量,其中 X 表示从最左侧分隔符开始的分隔符 (+) 的位置,最大位置为 10。如果...

回答 1 投票 0

带递归的 XSLT 转换

我需要将 XML 文档转换为 HTML。 输入 XML: 大家好! 我需要将 XML 文档转换为 HTML。 输入XML: <items> <item no="1" par_no="0" user="Mike">Hi all!</item> <item no="2" par_no="1" user="Jane">Hi...</item> <item no="3" par_no="2" user="Pit"> says: wasap man?</item> <item no="4" par_no="2" user="Karol">are you ok?</item> <item no="5" par_no="4" user="Nick">I think he's not in the mood.</item> <item no="6" par_no="5" user="Karol">I just ask a question.</item> <item no="7" par_no="1" user="Pit">says: how are you?</item> <item no="8" par_no="7" user="Mike">fine!</item> </items> 输出 HTML: <?xml version="1.0" encoding="UTF-8"?> <ul> <li><b>Mike</b> says: Hi all! <ul> <li><b>Jane</b> says: Hi... <li><b>Pit</b> says: wasap man? <li><b>Karol</b> says: are you ok? <ul> <li><b>Nick</b> says: I tihnk he's not in the mood. <ul> <li><b>Karol</b> says: I just ask a question. </ul> </li> </ul> </li> </ul> </li> <li><b>Pit</b> says: how are you? <ul> <li><b>Mike</b> says: fine! </ul> </li> </ul> </li> </ul> 我试图解决这个问题。我得到了代码。正在对行进行排序,但我无法获取附件。我的 XSL: <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="html" /> <xsl:template match="items"> <html> <ul> <xsl:apply-templates select="item[@par_no=0]"/> </ul> </html> </xsl:template> <xsl:template match="item"> <xsl:variable name="varNo" select="@no"/> <li> <b><xsl:value-of select="@user"/></b> <xsl:text> says: </xsl:text> <xsl:value-of select="."/> </li> <xsl:apply-templates select="//items/item[@par_no=$varNo]"> <xsl:sort select="@par_no" data-type="number"/> </xsl:apply-templates> </xsl:template> </xsl:stylesheet> 我不知道在哪里插入标签才能得到这样的嵌套结构。请帮忙! 在 XSLT 3 中,您可以按如下方式解决: <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="3.0" xmlns:xs="http://www.w3.org/2001/XMLSchema" exclude-result-prefixes="#all"> <xsl:output method="html" version="5.0" indent="yes"/> <xsl:template match="/"> <html> <head> <title>Test</title> </head> <body> <xsl:apply-templates/> </body> </html> </xsl:template> <xsl:key name="child" match="item" use="@par_no"/> <xsl:template match="items"> <ul> <xsl:apply-templates select="key('child', '0')"/> </ul> </xsl:template> <xsl:template match="item"> <li> <b><xsl:value-of select="@user"/></b> <xsl:text> says: </xsl:text> <xsl:value-of select="."/> <xsl:where-populated> <ul> <xsl:apply-templates select="key('child', @no)"/> </ul> </xsl:where-populated> </li> </xsl:template> </xsl:stylesheet> 密钥和模板在以前的版本中的工作方式相同,您需要将 xsl:where-populated 替换为检查 key('child', @no) 是否选择元素以输出 ul: <xsl:template match="item"> <li> <b><xsl:value-of select="@user"/></b> <xsl:text> says: </xsl:text> <xsl:value-of select="."/> <xsl:variable name="children" select="key('child', @no)"/> <xsl:if test="$children"> <ul> <xsl:apply-templates select="$children"/> </ul> </xsl:if> </li> </xsl:template> 我认为你可以简单地做(仅使用 XSLT 1.0): <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="html"/> <xsl:key name="chld" match="item" use="@par_no" /> <xsl:template match="/items"> <ul> <xsl:apply-templates select="item[@par_no='0']"/> </ul> </xsl:template> <xsl:template match="item"> <li> <b> <xsl:value-of select="@user"/> </b> <xsl:text> says: </xsl:text> <xsl:value-of select="."/> <ul> <xsl:apply-templates select="key('chld', @no)"/> </ul> </li> </xsl:template> </xsl:stylesheet> 浏览器中显示的结果是: 是的,我致力于 XSLT 1.0。但我没有得到这个结果。在我的 Chrome 浏览器中,结果有所不同。不幸的是我无法发布图片(( 我需要像你的照片一样的结果! HTML: <ul> <li><b>Mike</b> says: Hi all! <ul> <li> <b>Jane</b> says: Hi... <ul> <li><b>Pit</b> says: asap man?</li> <li><b>Karol</b> says: are you ok? <ul> <li><b>Nick</b> says: I think he's not in the mood. <ul> <li><b>Karol</b> says: I just ask a question.</li> </ul> </li> </ul> </li> </ul> </li> <li><b>Pit</b> says: how are you? <ul> <li><b>Mike</b> says: fine!</li> </ul> </li> </ul> </li> </ul> 为什么说 Pit 会重复两次?

回答 3 投票 0

XSLT - 将单个属性分离为具有属性的多个元素

我有一些源 XML,其中包含对一个属性内多个值的交叉引用。我需要将它们分成具有属性值的自己不同的元素。 输入 XML: B... 我有一些源 XML,其中包含对一个属性内多个值的交叉引用。我需要将它们分成具有属性值的自己不同的元素。 输入XML: <p>Blah blah blah <xref ref-type="bibr" rid="ref004 ref005 ref006 ref007">4&#x2013;7</xref>.</p> 所需的输出 XML: <p>Blah blah blah <xref ref-type="bibr" rid="ref004">4</xref><xref ref-type="bibr" rid="ref005"/><xref ref-type="bibr" rid="ref006"/>&#x2013;<xref ref-type="bibr" rid="ref007">7</xref>.</p> 注意中间的 2 个交叉引用变成了空元素。 我有以下 XSLT,但它没有给我正确的输出 - 它将属性值作为元素内容插入。 <xsl:template match="@*|node()"> <xsl:copy> <xsl:apply-templates select="@*|node()"/> </xsl:copy> </xsl:template> <xsl:template match="xref"> <xsl:variable name="rid" select="@rid"/> <xsl:choose> <xsl:when test="contains($rid, ' ')"> <!-- Multiple references --> <xsl:variable name="refs" select="tokenize($rid, ' ')"/> <xsl:for-each select="$refs"> <xsl:if test="position() > 1"> <xsl:text> </xsl:text> </xsl:if> <xsl:variable name="refNum" select="substring-after(., 'ref')"/> <xsl:element name="xref"> <xsl:attribute name="ref-type">bibr</xsl:attribute> <xsl:attribute name="rid"> <xsl:value-of select="concat('ref', $refNum)"/> </xsl:attribute> <xsl:value-of select="."/> </xsl:element> </xsl:for-each> </xsl:when> <xsl:otherwise> <!-- Single reference --> <xsl:element name="xref"> <xsl:attribute name="ref-type">bibr</xsl:attribute> <xsl:attribute name="rid"> <xsl:value-of select="$rid"/> </xsl:attribute> <xsl:value-of select="."/> </xsl:element> </xsl:otherwise> </xsl:choose> </xsl:template> 我想我通过使用得到了预期的结果: <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml" indent="yes"/> <xsl:template match="@*|node()"> <xsl:copy> <xsl:apply-templates select="@*|node()"/> </xsl:copy> </xsl:template> <xsl:template match="xref[contains(@rid, ' ')]"> <xsl:variable name="ref" select="text()"/> <xsl:for-each select="tokenize(@rid, ' ')"> <xsl:choose> <xsl:when test="position()=1"> <xref ref-type="bibr" rid="{.}"> <xsl:value-of select="substring-before($ref, '&#x2013;')"/> </xref> </xsl:when> <xsl:when test="position()=last()"> <xsl:text>&#x2013;</xsl:text> <xref ref-type="bibr" rid="{.}"> <xsl:value-of select="substring-after($ref, '&#x2013;')"/> </xref> </xsl:when> <xsl:otherwise> <xsl:text> </xsl:text> <xref ref-type="bibr" rid="{.}"/> </xsl:otherwise> </xsl:choose> </xsl:for-each> </xsl:template> </xsl:stylesheet> 但这主要是基于根据您的单个示例猜测规则是什么......

回答 1 投票 0

如何根据子节点的条件获取父节点?

我有以下xml: 数字 ...

回答 1 投票 0

Fo 内联换行不会删除将 XML 格式化为 XLS(excel)文件的 XSL 中的文本

使用 Xsl 样式表,我将输出 XML 文件(从我的工具获得)格式化为 Excel(xls 文件)。在此,我只想删除一段文字。我正在使用 fo:inline ,如下所示: &...

回答 1 投票 0

将 xml 转换保存在新的 xml 文件中

嘿嘿! 我有一个 xslt 文件来转换我的 xml,它运行得很好:) 但我只在氧气终端中得到结果,而不是在单独的文件中。 我试过: 嘿! 我有一个 xslt 文件来转换我的 xml,它运行得很好:) 但我只能在氧气终端中获得结果,而不是在单独的文件中。 我尝试过: <xsl:stylesheet xmlns="http://www.tei-c.org/ns/1.0" xmlns:telota="http://www.telota.de" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xpath-default-namespace="http://www.tei-c.org/ns/1.0" exclude-result-prefixes="xs" version="2.0"> <xsl:result-document href="new_badius.xml"/> 这给了我错误:“元素 xsl:result-document 不得直接出现在 xsl:stylesheet 中” 尝试了一些层次结构的变化: <xsl:template match="node()|@*"> <xsl:copy> <xsl:result-document href="new_file.xml"/> <xsl:apply-templates select="node()|@*"/> </xsl:copy> </xsl:template> 或 <xsl:template match="node()|@*"> <xsl:result-document href="new_file.xml"/> <xsl:copy> <xsl:apply-templates select="node()|@*"/> </xsl:copy> </xsl:template> 这给了我错误只能创建一个 new_file.xml (它是空的) 我应该把<xsl:result-document href="new_file.xml"/>放在哪里,或者有更好的方法将我的结果保存为.xml吗? xsl:result-document属于模板,哪个模板显然取决于您的XML输入结构、样式表结构以及结果文档的数量和想要的内容。 另请注意,oXygen 允许您配置一个转换场景,您可以在其中定义将主要结果写入到您可以定义名称的文件中,请参阅 https://www.oxygenxml.com/doc/versions/26.1/ ug-editor/topics/the-output-tab.html.

回答 1 投票 0

抑制 Saxon 中的函数查找消息

我在 Java Swing 应用程序中使用 Saxon 12.4 EE,想知道是否可以禁止显示有关查找函数定义的消息: 这正在创建一个大

回答 1 投票 0

使用 AntennaHouse Formatter v73 将 DITA-OT PDF2 插件输出转换为灰度

我目前正在使用 DITA-OT 4.1.1 和 AntennaHouse Formatter v73 进行 PDF 生成的样式表开发:到目前为止,我只处理过彩色输出 PDF,但将来我会...

回答 1 投票 0

如何将 XML 样式更改为 HTML 标签

我有一个 XML 文件,我正在使用 XSLT 版本 1.0 样式表将其转换为 HTML。 XML 有一个文本元素 ExampleText/AStr,其中包含 Run 元素,其中一些元素具有名为 name 的属性...

回答 1 投票 0

使用 XSL FO 格式化文本节点内的节点

我正在尝试打印包含文本和其他节点的节点,但无法将格式应用于子节点。 我有以下 xml: Lorem Ipsum 只是虚拟的

回答 1 投票 0

XSLT 基于多个元素/值删除重复节点

我有以下输入 XML 片段 ABC XYZ LOC_1 ...

回答 1 投票 0

如何按照计划代码的顺序获取每个元素值

我需要表行应按照代码值的顺序获取 输入 xml 我有: 20000 我需要表行应按照代码值的顺序获取 输入我有的xml: <Group> <Maps> <Map> <Code>20000</Code> </Map> <Map> <Code>30000</Code> </Map> </Maps> <Details> <Detail> <Code>30000</Code> <Description>Benefit</Description> </Detail> <Detail> <Code>20000</Code> <Description>Non-Benefit</Description> </Detail> </Details> </Group> XSL 我已经使用变量尝试了以下操作: <xsl:template match="Group"> <xsl:variable name="MapCode" select="Maps/Map/Code"/> <row> <entry>Code</entry> <xsl:for-each select="Maps/Map"> <entry> <p> <xsl:value-of select="Code"/> </p> </entry> </xsl:for-each> </row> <row> <entry>Level</entry> <xsl:for-each select="Details/Detail[Code=$MapCode]"> <entry> <p> <xsl:value-of select="Description"/> </p> </entry> </xsl:for-each> </row> </xsl:template> 我得到的实际输出: <row> <entry>Code</entry> <entry> <p>20000</p> </entry> <entry> <p>30000</p> </entry> </row> <row> <entry>Level</entry> <entry> <p>Benefit</p> </entry> <entry> <p>Non-Benefit</p> </entry> </row> 预期输出应该是: <row> <entry>Code</entry> <entry> <p>20000</p> </entry> <entry> <p>30000</p> </entry> </row> <row> <entry>Level</entry> <entry> <p>Non-Benefit</p> </entry> <entry> <p>Benefit</p> </entry> </row> 根据 Code 订单匹配,应选择 Description 值。我将变量用于 Code 匹配。但它仍然错误地选择了 Description 值。所以描述应该按照代码顺序选择。 我猜你想做类似的事情: XSLT 2.0 <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/> <xsl:key name="detail-by-code" match="Detail" use="Code" /> <xsl:template match="/Group"> <xsl:variable name="headings" select="Maps/Map" /> <table> <!-- header --> <row> <xsl:for-each select="$headings"> <entry> <p> <xsl:value-of select="Code"/> </p> </entry> </xsl:for-each> </row> <!-- data --> <xsl:for-each select="Details"> <xsl:variable name="current-row" select="." /> <row> <xsl:for-each select="$headings"> <entry> <p> <xsl:value-of select="key('detail-by-code', Code, $current-row)"/> </p> </entry> </xsl:for-each> </row> </xsl:for-each> </table> </xsl:template> </xsl:stylesheet>

回答 1 投票 0

XML 节点值的 OR 条件

我需要检查XML节点的值。 但为什么这不起作用呢? 我需要检查XML节点的值。 但为什么这不起作用? <xsl:if test="(applicationData/remittingAccount/paymentMethodCode != 'ABC' or applicationData/remittingAccount/paymentMethodCode != 'XYZ')"> 我也尝试过这个 <xsl:if test="(applicationData/remittingAccount/paymentMethodCode != 'ABC') or (applicationData/remittingAccount/paymentMethodCode != 'XYZ')"> 还有这个 <xsl:if test="applicationData/remittingAccount/paymentMethodCode != 'ABC' or applicationData/remittingAccount/paymentMethodCode != 'XYZ'"> 请帮忙! 您还没有解释您想要检查的内容,但是那些在 XPath 通用比较运算符的语义上苦苦挣扎的人可能想要检查,例如not(applicationData/remittingAccount/paymentMethodCode = ('ABC', 'XYZ')) 而不是你的尝试。仅当 applicationData/remittingAccount/paymentMethodCode 都不等于 ABC 或 XYZ 时,该检查才为真。 测试: test="node != 'ABC' or node != 'XYZ'" 当节点不存在时,将返回 false only。 在所有其他情况下,即使只有一个节点,测试也始终为 true - 因为节点的字符串值不能同时为“ABC”和“XYZ”,因此至少其中一个语句将说实话。 您可能正在寻找 test="not(node = 'ABC' or node = 'XYZ')" 如果没有节点具有这些字符串值,则为真。

回答 2 投票 0

具有多个 LineItems 的 Xml 到 Json

我正在尝试将 xml 转换为 json,但在 xml 到 json 转换期间未形成多个行项目。我们总是在 xml 消息中包含单个或多个 Lineitem,其名称与“vpoItemLi...

回答 1 投票 0

如何通过编辑XSL样式检查单词参考书目参考条目,如果未填写则显示错误

参考以下MS提供的指南: MS 参考书目样式编辑指南 以及 IEEE 参考样式 IEEE xsl 样式文件。 我正在定制 IEEE 参考书目

回答 1 投票 0

XSL根据条件选择正确的子字符串

我正在从一个带有 ' ' 分隔符的简单 2 子字符串过渡,该分隔符当前使用前子字符串和后子字符串,但现在我需要修改它以容纳多个子字符串...

回答 1 投票 0

IE11 XSLT 将 <param> 节点转换为自闭标签而不关闭

这个问题与此非常相关 输出到 DOM 时,XSLT 将 节点转换为 标签 考虑这段代码: <question vote="0"> <p>这个问题与此非常相关 <a href="https://stackoverflow.com/questions/78266294/xslt-converts-image-node-to-img-tag-when-outputiing-to-dom">XSLT 在输出到 DOM 时将 <image> 节点转换为 <img> 标签</a></p> <p>考虑这段代码:</p> <pre><code>&lt;script type=&#34;application/xml&#34; id=&#34;data&#34;&gt; &lt;xsl:copy-of select=&#34;/*&#34; /&gt; &lt;/script&gt; </code></pre> <p>这会将 XML 文档的内容输出到 html 页面中。 然后,可以很容易地通过 javascript 的 DOMParser() 对象解析 XML 中的数据,从而可以在网页上轻松访问这些数据,而无需使用 XSLT 生成网页。</p> <p>需要在脚本标签之间移动 <xsl:copy-of select"/*" />,以防止 XSLT 转换器将 XML 文件中的节点转换为 HTML 中的标签。</p> <p>这工作得很好,直到我发现节点也发生了同样的情况。简单地说:如果 XML 有节点,输出将被破坏且无法解析,如下所示:</p> <p><a href="https://i.stack.imgur.com/Ns44i.png" target="_blank"><img src="https://cdn.txt58.com/i/AWkuc3RhY2suaW1ndXIuY29tL05zNDRpLnBuZw==" alt=""/></a></p> <p>如何防止这种行为?如何阻止浏览器引擎使标签成为自关闭标签?</p> <pre><code>new DOMParser().parseFromString() </code></pre> <p>/\ 不适用于自关闭节点。 (<strong>澄清</strong>:显然 DOMParser 将与自关闭节点一起工作,只是在这种情况下它不是自关闭的,即 - 没有正斜杠)</p> <hr/> <p>好的,这里是重现此内容所需的文件:</p> <p>测试.xslt</p> <pre><code>&lt;?xml version=&#34;1.0&#34; encoding=&#34;UTF-8&#34;?&gt; &lt;xsl:stylesheet xmlns:xsl=&#34;http://www.w3.org/1999/XSL/Transform&#34; version=&#34;1.0&#34;&gt; &lt;xsl:output method=&#34;html&#34; indent=&#34;no&#34; version=&#34;5.0&#34; /&gt; &lt;xsl:template match=&#34;/&#34;&gt; &lt;xsl:text disable-output-escaping=&#39;yes&#39;&gt;&amp;lt;!DOCTYPE html&gt;&lt;/xsl:text&gt; &lt;xsl:apply-templates select=&#34;root&#34; /&gt; &lt;/xsl:template&gt; &lt;xsl:template match=&#34;root&#34;&gt; &lt;html&gt; &lt;head&gt; &lt;script type=&#39;application/xml&#39;&gt; &lt;xsl:copy-of select=&#34;/*&#34; /&gt; &lt;/script&gt; &lt;/head&gt; &lt;body&gt; &lt;div&gt;qwe&lt;/div&gt; &lt;/body&gt; &lt;/html&gt; &lt;/xsl:template&gt; &lt;/xsl:stylesheet&gt; </code></pre> <p>测试.xml</p> <pre><code>&lt;?xml version=&#34;1.0&#34; encoding=&#34;UTF-8&#34;?&gt; &lt;?xml-stylesheet type=&#34;text/xsl&#34; href=&#34;test.xslt&#34;?&gt; &lt;root&gt; &lt;object&gt; &lt;text&gt;text&lt;/text&gt; &lt;param name=&#34;name&#34;&gt;&lt;/param&gt; &lt;/object&gt; &lt;/root&gt; </code></pre> <p>在 Internet Explorer 11 兼容模式下使用 Edge 打开 test.xml。 “head”应该包含一个带有扭曲 xml 的脚本。</p> <p><a href="https://i.stack.imgur.com/N6RRV.png" target="_blank"><img src="https://cdn.txt58.com/i/AWkuc3RhY2suaW1ndXIuY29tL042UlJWLnBuZw==" alt=""/></a></p> <p>在 Windows 10 上,打开 xml 文件后,您可以通过执行“运行 (Win+R)”->“%systemroot%\system32 12\IEChooser.exe”来打开开发人员工具</p> </question> <answer tick="true" vote="1"> <p>至于我的建议,要使用该库进行序列化,其外观如下(在实际使用中,不要通过 HTTP(S) 导入,请使用本地副本 <pre><code>xsl:import</code></pre>):</p> <pre><code>&lt;xsl:stylesheet xmlns:xsl=&#34;http://www.w3.org/1999/XSL/Transform&#34; version=&#34;1.0&#34;&gt; &lt;xsl:import href=&#34;https://lenzconsulting.com/xml-to-string/xml-to-string.xsl&#34;/&gt; &lt;xsl:output method=&#34;html&#34; indent=&#34;no&#34; version=&#34;5.0&#34; doctype-system=&#34;about:legacy-doctype&#34; /&gt; &lt;xsl:template match=&#34;/&#34;&gt; &lt;xsl:apply-templates/&gt; &lt;/xsl:template&gt; &lt;xsl:template match=&#34;root&#34;&gt; &lt;html&gt; &lt;head&gt; &lt;script type=&#39;application/xml&#39;&gt; &lt;xsl:apply-templates select=&#34;.&#34; mode=&#34;xml-to-string&#34;/&gt; &lt;/script&gt; &lt;/head&gt; &lt;body&gt; &lt;div&gt;qwe&lt;/div&gt; &lt;/body&gt; &lt;/html&gt; &lt;/xsl:template&gt; &lt;/xsl:stylesheet&gt; </code></pre> <p>这应该给你一个 <pre><code>script</code></pre> 元素,它的文本/CDATA 内容具有输入文档的 <pre><code>root</code></pre> 元素的序列化。</p> <p>至于序列化空元素的方式,在 XML 中应该不重要,但库允许您设置 <pre><code>&lt;xsl:param name=&#34;use-empty-syntax&#34; select=&#34;false()&#34;/&gt;</code></pre> 来获取例如<pre><code>&lt;param name=&#34;name&#34;&gt;&lt;/param&gt;</code></pre>。</p> </answer> </body></html>

回答 0 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.