MySQL のフィールドから URL (VAST ビデオ タグ) を解析する方法を見つけようとしています。 このフィールドには、異なる複数の行が含まれていますが、同じ XML コードが含まれている必要があります。
これは、解析しようとしている URL です。
http://ad.amgdgt.com/ads/?t=dr&f=vast2&p=10582&pl=a75d1869&rnd=<timestamp>
これはフィールド全体です。
<?xml version="1.0" encoding="utf-8"?> <VAST xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.0"> <Ad id="000000"> <Wrapper> <AdSystem version="2.0">DINVICO</AdSystem> <VASTAdTagURI><![CDATA[http://ad.amgdgt.com/ads/?t=dr&f=vast2&p=10582&pl=a75d1869&rnd=<timestamp>]]></VASTAdTagURI> <Impression><![CDATA[<ditu>]]></Impression> <Impression><![CDATA[<comscoreVOX>]]></Impression> <Impression><![CDATA[<comscoreVideo>]]></Impression> <Creatives> <Creative AdID="000000" id="000000" sequence="1"> <Linear> <TrackingEvents> <Tracking event="start"><![CDATA[<event_12>]]></Tracking> <Tracking event="firstQuartile"><![CDATA[<event_13>]]></Tracking> <Tracking event="midpoint"><![CDATA[<event_14>]]></Tracking> <Tracking event="thirdQuartile"><![CDATA[<event_15>]]></Tracking> <Tracking event="complete"><![CDATA[<event_16>]]></Tracking> <Tracking event="mute"><![CDATA[<event_17>]]></Tracking> <Tracking event="unmute"><![CDATA[<event_18>]]></Tracking> <Tracking event="rewind"><![CDATA[<event_20>]]></Tracking> <Tracking event="resume"><![CDATA[<event_21>]]></Tracking> <Tracking event="expand"><![CDATA[<event_23>]]></Tracking> <Tracking event="collapse"><![CDATA[<event_24>]]></Tracking> <Tracking event="acceptInvitation"><![CDATA[<event_26>]]></Tracking> <Tracking event="pause"><![CDATA[<event_19>]]></Tracking> <Tracking event="fullscreen"><![CDATA[<event_22>]]></Tracking> <Tracking event="close"><![CDATA[<event_27>]]></Tracking> <Tracking event="creativeView"><![CDATA[<event_11>]]></Tracking> </TrackingEvents> <VideoClicks> <ClickTracking><![CDATA[<click_tag>]]></ClickTracking> </VideoClicks> </Linear> </Creative> </Creatives> <Extensions> </Extensions> </Wrapper> </Ad> </VAST>
ご覧のとおり、HTML リンクは<VASTAdTagURI><![CDATA[
...で区切られています。]]></VASTAdTagURI>
2 つの区切り文字内の HTML リンクのみを選択して返すように MySQL に指示するにはどうすればよいですか?
XMLコード全体を返す、現在作業中のSQLは次のとおりです。
select
a.name as Advertiser_Name,
a.aid as Advertiser_ID,
b.name as Creative_Name,
b.id_creative as Creative_ID,
bt.tag as XML_Code,
bt.tag_secure as XML_Code_Secure
from advertisers a
inner join campaigns c on c.aid=a.aid
inner join banners b on b.cid=c.cid
inner join banner_tags bt on bt.bid=b.bid
inner join placement p on p.cid=c.cid
inner join locations l on l.lid=p.lid
inner join sites s on s.sid=l.sid
where s.pid='<Partner_ID>' and b.status=1 and c.status in (-1,0,1,2)
group by b.id_creative
order by b.status