1

次のようなxmlチャンクを格納するテーブル列があります

<Text>hello, world</Text></Image id="100">

またはタグなしのプレーンテキスト。シンボルをエスケープせずに、タグ付けされた列の値から xml を生成するにはどうすればよいですか。

ステートメントの例を次に示します。

select xmlelement("Proposal", xmlforest(1 as "ProposalType"
                                   ,to_char(sysdate, 'dd.mm.yyyy') as "CreateDate"
                                   ,'title1' as "Title"
                                   ,'<Text>hello, world</Text></Image id="100">' as "InfoBlock"))
  from dual;

結果のxmlは次のようになります。

<Proposal>
    <ProposalType>1</ProposalType>
    <CreateDate>31.10.2012</CreateDate>
    <Title>title1</Title>
   <InfoBlock2>&lt;Text&gt;hello, world&lt;/Text&gt;&lt;/Image id=&quot;100&quot;&gt;</InfoBlock2>
</Proposal>

しかし、私はこのようなxmlが必要です:

<Proposal>
    <ProposalType>1</ProposalType>
    <CreateDate>31.10.2012</CreateDate>
    <Title>title1</Title>
    <InfoBlock2>
        <Text>hello, world</Text><Image id="100"/>
    </InfoBlock2>
</Proposal>
4

2 に答える 2

1

これは私ができる最善のことです:

  select xmlelement("Proposal",xmlelement("ProposalType",1)
                              ,xmlelement("CreateDate",to_char(sysdate, 'dd.mm.yyyy'))
                              ,xmlelement("Title",'Title1')
                              ,xmlelement("InfoBlock",xmlelement("Text",'Hello World')
                                                     ,xmlelement("Image",xmlattributes(10 as "Id"))
                                         )
                   )           
  from dual;

結果:

<Proposal>
    <ProposalType>1</ProposalType>
    <CreateDate>31.10.2012</CreateDate>
    <Title>Title1</Title>
    <InfoBlock>
        <Text>Hello World</Text>
        <Image Id="10"></Image>
    </InfoBlock>
</Proposal>

これは与える

<Image Id="10"></Image>

やり方がわからない

<Image id="10"/>
于 2012-10-31T19:50:30.883 に答える