简单转换:编码转换问题(尖括号)

2020-08-26 01:57发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我使用ST从ABAP创建XML文件。 除了一个微小但至关重要的部分,该转换工作仍然有效。

这是XML的最终外观:

 <?xml版本=" 1.0"编码=" utf-8"?>
 <包装>
     
          N1-QCPRT-000231   DOC  -  000   J 
     
  

第4行中的标签具有动态名称,具体取决于程序读取的元数据参数。 由于ST不是为处理此类动态内容而构建的,因此我通过在ABAP中手动创建此行,方法是将其写入字符串变量(PAKET.METADATEN),并在转换中使用它:

 <?sap.transform简单吗?>
 
   
   
   
     <包装>
       
           
       
     
   
  

我将其转换为将输出写入xstring变量(以获得UTF-8 XML)。 现在,转换将字符串中的尖括号解释为"&lt;" 为" <"和" && gt;" 为">"(忽略空格;-)),它会导致以下输出XML(以字节为单位,因为此处的此编辑器能够正确解释它:

 3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d227574662d38223f3e0a3c50616b65743e0a093c4d657461646174656e3e266c743b444f4b4e522667743b4e312d51435052542d303030323331266c743b2f444f4b4e522667743b266c743b444f4b41522667743b444f43266c743b2f444f4b41522667743b266c743b444f4b56522667743b2d266c743b2f444f4b56522667743b266c743b444f4b544c2667743b303030266c743b2f444f4b544c2667743b3c2f4d657461646174656e3e0a3c2f50616b65743e结果

我在unicode系统上工作,因此字符串值以unicode表示。 输出必须是UTF-8 xml文件。

因此,基本问题是:如何在不填充字符串变量的情况下实现这样的动态标签名称,或者让ST正确解释字符串,以便在输出中显示尖括号?

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我使用ST从ABAP创建XML文件。 除了一个微小但至关重要的部分,该转换工作仍然有效。

这是XML的最终外观:

 <?xml版本=" 1.0"编码=" utf-8"?>
 <包装>
     
          N1-QCPRT-000231   DOC  -  000   J 
     
  

第4行中的标签具有动态名称,具体取决于程序读取的元数据参数。 由于ST不是为处理此类动态内容而构建的,因此我通过在ABAP中手动创建此行,方法是将其写入字符串变量(PAKET.METADATEN),并在转换中使用它:

 <?sap.transform简单吗?>
 
   
   
   
     <包装>
       
           
       
     
   
  

我将其转换为将输出写入xstring变量(以获得UTF-8 XML)。 现在,转换将字符串中的尖括号解释为"&lt;" 为" <"和" && gt;" 为">"(忽略空格;-)),它会导致以下输出XML(以字节为单位,因为此处的此编辑器能够正确解释它:

 3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d227574662d38223f3e0a3c50616b65743e0a093c4d657461646174656e3e266c743b444f4b4e522667743b4e312d51435052542d303030323331266c743b2f444f4b4e522667743b266c743b444f4b41522667743b444f43266c743b2f444f4b41522667743b266c743b444f4b56522667743b2d266c743b2f444f4b56522667743b266c743b444f4b544c2667743b303030266c743b2f444f4b544c2667743b3c2f4d657461646174656e3e0a3c2f50616b65743e结果

我在unicode系统上工作,因此字符串值以unicode表示。 输出必须是UTF-8 xml文件。

因此,基本问题是:如何在不填充字符串变量的情况下实现这样的动态标签名称,或者让ST正确解释字符串,以便在输出中显示尖括号?

付费偷看设置
发送
2条回答
野沐沐
1楼 · 2020-08-26 02:11.采纳回答

查看 XML片段

p>

用于ST = DEMO_ST_XSDANY的演示程序-方法prepare_fragment正在创建XML字符串,稍后将其插入转换中以生成XML。

通过XML片段在XSL转换中也起作用(不仅在Simple中

小熊yu生菜
2楼-- · 2020-08-26 02:29

顺便说一句,我试图通过CDATA逸出包含这些符号的标签,但这没有效果。

一周热门 更多>