알 수없는 구조의 XML을 가지고 있으며 XML에있는 ABAP 구조의 내용을 "어떻게 든"얻으려면 ST (Simple Transformation)를 적용하려고합니다.알 수없는 XML을 사용하는 SAP 단순 변환
report ztbu_st_with_copy.
data: lf_xml type string.
concatenate '<tab><obj>'
'<id>A1</id>'
'<first>Erste</first>'
'<second>Zweite</second>'
'</obj><obj>'
'<id>B2</id>'
'<item>'
'<here>Tady</here>'
'<there>Tam</there>'
'</item>'
'</obj>'
'</tab>'
into lf_xml.
types: begin of ys_obj,
id type string,
rest type string,
end of ys_obj,
yt_obj type standard table of ys_obj.
data: lt_obj type yt_obj.
call transformation ztbu_st_copy_test
source xml lf_xml
result root = lt_obj.
uline.
data: ls_obj like line of lt_obj.
loop at lt_obj into ls_obj.
write:/sy-tabix, ls_obj-id.
endloop.
uline.
나는 다음과 같은 한 ST 변환 ZTBU_ST_COPY_TEST (위라는 일) :
<?sap.transform simple?>
<tt:transform xmlns:tt="http://www.sap.com/transformation-templates">
<tt:root name="ROOT"/>
<tt:template>
<tab>
<tt:loop ref=".ROOT" name="obj">
<obj>
<id>
<tt:value ref="$obj.ID" />
</id>
<tt:skip />
</obj>
</tt:loop>
</tab>
</tt:template>
</tt:transform>
이 지금은 잘 작동하고로 ID를 가져올 것이다 지금 내가 시험 보고서 다음 한
테이블 LT_OBJ의 필드 그러나 나머지는 <TT:SKIP>
의 사용으로 인해 무시됩니다. 내 목표는 나머지 XML 문서 (이러한 첫 번째, 두 번째, 여기, 또는 임의의 XML)를 "some"형식의 필드 REST에 넣는 것입니다. 아마도 STRING 변수에 저장된 거친 XML로 생각할 것입니다.
나는 더 똑똑한 것으로 <TT:SKIP>
을 대체해야한다는 것을 알고 있지만, 그게 무엇인지 알아낼 수는 없다 ... 어떤 생각 이니?
사이드 노트 : 그렇습니다. ST 대신 XSLT 또는 다른 것을 사용하는 것이 좋겠지 만, 선택의 여지가 없으며 ST를 사용하여 만들어야합니다.
나는 "알 수없는 XML"이라고 부르지 않을 것입니다. XML이으로 시작하고 그 안에 이라는 숫자가 있으며 각각은 및 기타 알 수없는 요소가 있다고 가정합니다. 추측하는 것이 안전한가요? –
Eric
그래,이 가정,, 및 알려져 안전합니다,하지만 난 나머지 것들을 다하고있어, 그리고 그들은 진정으로 알 수없는 ... –