webForumDet fria alternativet

Dela texten

.NETur .NET

3 svar · 335 visningar · startad av Vimp

VimpMedlem sedan juli 20022 537 inlägg
Frågan#1

Jag skulle vilja dela upp den här texten i mindre stycken:

;URL Interface<br>
;Machine number is 1<br>
ItemID=391694
Description=Register
Years=2
NameID=152554883
Name=asffffasfsafsafsa.com
StatusID=A
ItemPrice=10.95
Renew=True
ParentItemID=
ItemID=391696
Description=Register
Years=2
NameID=152554885
Name=asffffasfsafsafsaff.com
StatusID=A
ItemPrice=10.95
Renew=True
ParentItemID=
ItemID=391693
Description=Register
Years=2
NameID=152554882
Name=dhghdhjt.com
StatusID=A
ItemPrice=10.95
Renew=True
ParentItemID=
ItemID=391695
Description=Register
Years=2
NameID=152554884
Name=hmm657rghf.com
StatusID=A
ItemPrice=10.95
Renew=True
ParentItemID=
ItemID=391670
Description=Register
Years=2
NameID=152554860
Name=htdhdgd.net.cn
StatusID=A
ItemPrice=36.95
Renew=True
ParentItemID=
ItemID=391671
Description=Register
Years=2
NameID=152554861
Name=htdhdgd.nu
StatusID=A
ItemPrice=46.95
Renew=True
ParentItemID=
Command=GETCARTCONTENT
Language=en
ErrCount=0
ResponseCount=0
MinPeriod=1
MaxPeriod=10
Server=RESELLERTEST
Site=eNom
IsLockable=True
IsRealTimeTLD=True
ExecTime=8.984375E-02
Done=true

Det jag vill få ut är:

ItemID=391694
Description=Register
Years=2
NameID=152554883
Name=asffffasfsafsafsa.com
StatusID=A
ItemPrice=10.95
Renew=True
ParentItemID=

Jag vill alltså få en 2-dimensionell array med dessa värden.
Alla har olika värden. Förmodar att regexp kan vara till nytta här, men då jag inte kan ett dugg om det uppskattar jag hjälp från er. :f

/r

Skulle även kunna hämta det som en XML-fil som ser ut så här:

<?xml version="1.0" ?> 
- <interface-response>
- <GetCartContent>
- <item>
  <ItemID>391694</ItemID> 
  <Description>Register</Description> 
  <ProdType>10</ProdType> 
  <Years>2</Years> 
  <NameID>152554883</NameID> 
  <Name>asffffasfsafsafsa.com</Name> 
  <StatusID>A</StatusID> 
  <ItemPrice>10.95</ItemPrice> 
  <Renew>1</Renew> 
- <cd>
  <IsMailPak>0</IsMailPak> 
  <ShowWPPSLink>1</ShowWPPSLink> 
- <p>
  <QtyDesc>Year(s)</QtyDesc> 
  <SubItem>0</SubItem> 
  </p>
  </cd>
  </item>

...

  <ContainsDomain>true</ContainsDomain> 
  </GetCartContent>
  <Command>GETCARTCONTENT</Command> 
  <Language>en</Language> 
  <ErrCount>0</ErrCount> 
  <ResponseCount>0</ResponseCount> 
  <MinPeriod>1</MinPeriod> 
  <MaxPeriod>10</MaxPeriod> 
  <Server>RESELLERTEST</Server> 
  <Site>eNom</Site> 
  <IsLockable>True</IsLockable> 
  <IsRealTimeTLD>True</IsRealTimeTLD> 
  <ExecTime>0.078125</ExecTime> 
  <Done>true</Done> 
- <debug>
- <![CDATA[ 
  ]]> 
  </debug>
  </interface-response>
VimpMedlem sedan juli 20022 537 inlägg
#2

Bumpar tråden i hopp om att få svar ;)

renholmMedlem sedan apr. 20012 266 inlägg
#3

Eftersom varje post ligger på en egen rad kan du börja med att splita upp varje rad för sig själv, sedan tar du och kör split på varje rad så att du får texten på vardera sida om lika med-tecknet. Sedan är det bara att tuta och köra :)

Ex.

string[] rader = text.Split(new char[] {'\n'});
foreach(string rad in rader)
{
   string[] splitrad = rad.Split(new char[] {'='});
  // hitta på något :)
}

Kanske inte effektivast men funkar nog...
VimpMedlem sedan juli 20022 537 inlägg
#4

Så i VB.NET ska det alltså bli något sånt här?

Dim rader() As string  = Split(vbCrLf)
Dim rad As String
for each rad in rader
   splitrad() As string  = Split("=")
  'hitta på något 
end for

Tänkte inte på att det är så lätt.. Satt och klurade ut hur jag skulle kunna få ut allt ur XML-filen, men det går ju bra så här med :)

138 ms totalt · 3 externa anrop · v20260731065814-full.58439ac5
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)