Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在子字符串的XML标记中包含文本_Xml_Xslt_Substring - Fatal编程技术网

在子字符串的XML标记中包含文本

在子字符串的XML标记中包含文本,xml,xslt,substring,Xml,Xslt,Substring,XSLT有点新, 我有一个场景,我需要从XML中对文本进行子串化,但是我还需要考虑子串的标签。这里有一个例子 <ABCGEFGH> <SYSTEMINFO>2432048324884329</SYSTEMINFO> <PARENT>0000001200003100569DDA0000000000000000080595</PARENT> <DETAIL>007542038808460056</DET

XSLT有点新, 我有一个场景,我需要从XML中对文本进行子串化,但是我还需要考虑子串的标签。这里有一个例子

 <ABCGEFGH>
   <SYSTEMINFO>2432048324884329</SYSTEMINFO>
   <PARENT>0000001200003100569DDA0000000000000000080595</PARENT>
   <DETAIL>007542038808460056</DETAIL>
 </ABCGEFGH>

2432048324884329
000000 1200003100569DDA0000000000000000080595
007542038808460056
我正在努力

XSLT


预期产量

 <TEST>ABCDEFG</TEST>
ABCDEFG
提前感谢

在XSLT处理XML文档之前,必须将该文档解析为文档对象模型,而该模型不知道尖括号。这些仅存在于“词法”XML中,您在将XML视为文本时可以查看该XML

XSLT将处理节点(元素、文本节点、注释和处理指令)。您的
msgString
变量引用XML中的根元素
ABCGEFGH
,而不是字符串。如果您试图对其执行字符串函数,XSLT将使用该节点的文本值

你需要做的只是

<TEST>
    <xsl:value-of select="name($msgString)"/>
</TEST>


您可能希望将
msgString
重命名为类似
msgNode
的其他名称,以避免混淆它包含的内容。

在XSLT处理XML文档之前,必须将该文档解析为文档对象模型,而该模型不知道尖括号。这些仅存在于“词法”XML中,您在将XML视为文本时可以查看该XML

XSLT将处理节点(元素、文本节点、注释和处理指令)。您的
msgString
变量引用XML中的根元素
ABCGEFGH
,而不是字符串。如果您试图对其执行字符串函数,XSLT将使用该节点的文本值

你需要做的只是

<TEST>
    <xsl:value-of select="name($msgString)"/>
</TEST>


您可能想将
msgString
重命名为类似
msgNode
的其他名称,以避免对其包含的内容产生混淆。

预期输出ABCDEFG预期输出ABCDEFG有效,非常感谢Tim的快速响应。这很有效,非常感谢Tim的快速响应。