0

次のCDATAの説明を解析しようとしています。

 <description>
   <![CDATA[
     <p><b>Submission Date :</b> 2012-11-07 16:53:27<br/> <b>IP Address :</b> xx.xxx.xxx.xx<br/> <b>First Name :</b> dev<br/> <b>Email :</b> test3@here.com<br/> <b>18 yrs./Older :</b> YES<br/> <b>xxxxOffers :</b> <br/> </p>
   ]]>
</description>

読み込んだときに次のようになります。

Submission Date : 2012-11-07 16:53:27
IP Address : xx.xx.xx.xx
First Name : dev
Email : test3@here.com
18 yrs./Older : YES
xxxxOffers : [space here]

現在、私は次のことを行っています。

description = description.Replace("<p>", "").Replace("</p>", "").Replace("<b>", "").Replace("</b>", "").Replace("<br/>", "")
Dim descriptionArray() As String = Split(description, " : ")

これにより、次のようになります。

ここに画像の説明を入力してください

そのように分解する必要があります:

(0)Submission Date
(1)2012-11-07 16:53:27
(2)IP Address
(3)xx.xxx.xxx.xx
(4)First Name
(5)dev
(6)Email
(7)test3@here.com
(8)18 yrs./Older
(9)YES
(10)xxxxOffers
(11)[space here]

「:」の分母を持つSPLITを使用せずに、CDATAを各値に分割する方法を見つけることができないようです。これにより、時間(16:53:27)に「:」が含まれているため、すべてがうまくいきません。すでにそれ。

だから私は":"をチェックすることでそれを回避しようとしましたが、それでも私が探している必要な結果が得られません。

4

1 に答える 1

1

辞書指向のオブジェクトで情報を取得することをお勧めします。したがって、1回の呼び出しで説明と値が得られます。例として、次のようなことができます。

Dim ht as new HashTable   
' by <br>, you will have  : <p><b>Submission Date :</b> 2012-11-07 16:53:27 as first line
For each inLine as string in split(description,"<br/>")
    '<p><b>Submission Date : and 2012-11-07 16:53:27
    dim keyValue as string = split(inLine,"</b>")
    'then clean up <p>,<b>,.... remaining either by "<" and ">" or full tag
    'add(key,value)
    ht.add(keyValue(0), keyValue(1))
Next

何らかの理由で列挙可能なオブジェクトを使用したくない場合は、これをベースラインとして使用できます。

于 2012-11-09T14:03:55.867 に答える